Мне нужно удалить определенный ключ моего массива, так как я создаю фильтр для своих данных.
Array(
[0]=>Array
(
['Column1'] => 'ABC'
['Column2'] => 'xxx'
)
[1]=>Array
(
['Column1'] => 'XYZ'
['Column2'] => 'xxx'
)
)
Я хочу удалить ключ (то есть номер 2), который имеет значение "XYZ". Как его удалить? Мне нужно удалить его, потому что я фильтрую массив, который был передан мне другим скриптом, и мне нужно удалить ключ. Я пробовал использовать для цикла, но я не знаю, как его удалить.
for($z = 0; $z < count($array);$z++)
{
if($array[$z]['Column1'] == 'XYZ'){
// how do I remove the record [1] and all of its contents?
}
}
Использовать unset()
for($z = 0; $z < count($array);$z++)
{
if($array[$z]['Column1'] == 'XYZ'){
unset($array[$z]);
}
}
Вы также можете сделать:
foreach($array as &$v) {
if($v['Column1'] == 'XYZ') {
unset($v);
}
}
После использования unset() в массиве и до тех пор, пока вам не нужно сохранять значения индекса, стоит сделать:
$array = array_values($array);
Чтобы сбросить индекс массива.
foreach ($array as $k => $v)
{
if ($v['Column1'] == 'XYZ') unset($array[$k]);
}