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 ) )

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.