у меня есть массив как этот Array ([0] => 'некоторые значения' [1] => '')изменить элемент пустого массива значения
Я хочу изменить пустую elemnt массива до значения 5
, как я могу сделать это
благодаря
у меня есть массив как этот Array ([0] => 'некоторые значения' [1] => '')изменить элемент пустого массива значения
Я хочу изменить пустую elemnt массива до значения 5
, как я могу сделать это
благодаря
Если вы знаете, в каком положении он находится, просто сделать:
$array[1] = 5;
Если нет, то цикл через него и проверить с ===
for value and type equality:
foreach($array as &$element) { //get element as a reference so we can change it
if($element === '') { // check for value AND type
$element = 5;
}
}
Это $array[1] = 5;
Вы можете использовать array_map для этого:
function emptyToFive($value) {
return empty($value) ? 5 : $value;
}
$arr = array_map(emptyToFive, $arr);
По состоянию на PHP 5.3, вы можете сделать:
$func = function($value) {
return empty($value) ? 5 : $value;
};
$arr = array_map($func, $arr);
EDIT: Если empty
не соответствует вашим требованиям, возможно, вы должны изменить это условие на $value === ''
согласно предложению Феликса.
Я бы сказал, что 'empty' не является правильной функцией здесь. Он также вернет true, для '0',' '0'' и 'FALSE', которые в этом случае скорее всего не будут пустыми. –
Возможно, вы правы, я бы сказал, что это действительно зависит от точных требований OP. Я отредактировал это. – karim79
5,3 версия
$arr = array_map(function($n) { return !empty($n) ? $n : 5; }, $arr);
Закрытие и тройка ... Если бы я мог, я бы вас дважды повысил. – Entendu
Какая из этих версий PHP вы используете? –