Jump to content

Remove a row from a Multidimensional Array


guyfromfl

Recommended Posts

I am trying to write a dirty script that removes duplicate rows from a multidimensional array.

 

I want to be able to edit the function and spit the duplicates out to a CSV file.

 

Here is my test file:


$fullArray = array(array('Jim', 'Jones'),
				array('Pete', 'Pumpkin'),
				array('Barak', 'Obama'),
				array('Jason', 'Newstead'),
				array('Toby', 'Keith'),
				array('Jim', 'Jones'),
				array('Jim', 'Nelson'));


echo "<h1>Original</h2>";					
for($i=0; $i<count($fullArray); $i++) {
echo $fullArray[$i][0] . " " . $fullArray[$i][1] . "<br />";
}

echo "<h2>Checked</h2>";
$cleanArray = array();
$cay = array();
$nn=0;
$dup=0;
// Loop the entire input array
foreach ($fullArray as $index => $item) {
echo "foreach index:$index<br>";

        // Start an internal pointer
for ($f=0; $f<count($fullArray); $f++) {
	echo "for $f ";
                // if the index is lower or the same as the pointer, skip it to cut down on time
	if ($f > $index) {
                        // if the rows are the same...
		if($fullArray[$f][0] == $item[0] && $fullArray[$f][1] == $item[1]) {
			echo "$item[0] DUP<br>";
                                // remove it from the array
			$cay = array_push($cleanArray, array($item[0], $item[1]));
			array_pop($fullArray[5]);

			$dup++;
		} else {
                                // not a duplicate
			echo " not a dup<br>";
		}

	} else {
		echo "ON THIS ONE<br>";
	}
}
echo "<br><br>";
}	
echo"<br>$dup duplicates found<br><br>";
print_r($fullArray);
echo "<br /><br>";
// print_r($item);
print_r($cleanArray);
?>

 

When I spit out the new fullArray variable, it still has an element from the duplicate record.

 

This is what I get for the output of the full array after the duplicate was removed:

Array ( [0] => Array ( [0] => Jim [1] => Jones ) [1] => Array ( [0] => Pete [1] => Pumpkin ) [2] => Array ( [0] => Barak [1] => Obama ) [3] => Array ( [0] => Jason [1] => Newstead ) [4] => Array ( [0] => Toby [1] => Keith ) [5] => Array ( [0] => Jim ) [6] => Array ( [0] => Jim [1] => Nelson ) )

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.