I have an array what consist of arrays. Have a looks into this file gist.
How you can see each array repeats two times. I need to delete the second, I need to compare them by 'key'
value of array.
Thanks!
The undefined offset 6 error is telling you that there isnt an array element at position 6. Without seeing your error message and your code I cant tell you where the error is But you would need to see if the element exists using something like this:
if (isset($array[index]))
{
//do something
}
This will handle the error, meaning you wont get the message, but you should see why the element doesnt exist, like Was there a problem when the arrays were made.
Your error message will tell you which line the problem was on and therefore which array variables are causing these errors.
UPDATE:
your code will always return true as you are comparing a value to itself therefore it will be an empty array.
$transll['key'] == $transll['key']
The easiest way to get the result you expect is in my opinion this way:
$data = array(
array(
'domain' => 'messages',
'key' => 'test.testik',
'message' => array()
),
array(
'domain' => 'messages',
'key' => 'test2313.tes31231tik',
'message' => array()
),
array(
'domain' => 'validators',
'key' => 'valid.validik',
'message' => array()
),
array(
'domain' => 'validators',
'key' => 'joga.jimbo',
'message' => array()
),
array(
'domain' => 'validators',
'key' => 'valid.validik',
'message' => array()
)
);
$newdata = array();
foreach ($data as $subdata) {
$newdata[$subdata['key']] = $subdata;
}
$newdata = array_values($newdata); // reset array indizes
print_r($newdata);