$arr = array('delva', 'dede', 'afb', 'zimbabwe');
$bo = count($arr);
if($key = array_search('afb', $arr))
{
unset($arr[$key]);
}
for ($i = 0; $i < $bo; $i++)
{
if (isset($arr[$i])) {
echo "$arr[$i] <br />";
}
}
print_r($arr);
Я пытаюсь удалить определённый элемент массива, и удаляется любой, кроме первого, тоесть 'dede', 'afb', 'zimbabwe' - удаляются, а 'delva' - нет. Что я делаю не так?
И вопрос второй, более важный:
Вот так выглядит массив:
Array ( [0] => delva [1] => dede [2] => afb [3] => zimbabwe
После удаления элемента:
Array ( [0] => delva [1] => dede [3] => zimbabwe
Всмысле пропадает элемент массива под номером два, можно ли, чтоб все остальные элементы массива уменьшились на один порядковый номер, чтоб не делать дыр в случае удаления элемента массива.
Результат хочу получить такой:
Array ( [0] => delva [1] => dede [2] => zimbabwe
Если существует, подскажите её
Спустя 4 минуты, 26 секунд (7.12.2009 - 17:03) Adil написал(а):
да
Спустя 21 минута, 2 секунды (7.12.2009 - 17:24) glock18 написал(а):
array_splice
Спустя 39 секунд (7.12.2009 - 17:25) glock18 написал(а):
if($key = array_search('afb', $arr))
=>
if(false !== ($key = array_search('afb', $arr)))
Спустя 11 минут, 1 секунда (7.12.2009 - 17:36) inpost написал(а):
Спасибо! Всё работает!
_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).