Как сохранить нулевое значение в массиве

1

$ array это. Первый два индекса имеет нулевое значение. Я хочу, чтобы этот нуль сохранялся в массиве значения $. как это сделать

Array
    (
        [ew-language__en] => 
        [ew-language__en__0__phrase__locale] => 
        [ew-language__en__1__phrase__use_system_locale] => 1
        [ew-language__en__2__phrase__decimal_point] => .
        [ew-language__en__3__phrase__thousands_sep] => ,
        [ew-language__en__4__phrase__mon_decimal_point] => .
        [ew-language__en__5__phrase__mon_thousands_sep] => ,
        [ew-language__en__6__phrase__currency_symbol] => $
        [ew-language__en__7__phrase__positive_sign] => 
        [ew-language__en__8__phrase__negative_sign] => -
        [ew-language__en__9__phrase__frac_digits] => 2
        [ew-language__en__10__phrase__p_cs_precedes] => 1
        [ew-language__en__11__phrase__p_sep_by_space] => 0
        [ew-language__en__12__phrase__n_cs_precedes] => 1
        [ew-language__en__13__phrase__n_sep_by_space] => 0
        [ew-language__en__14__phrase__p_sign_posn] => 3
        [ew-language__en__15__phrase__n_sign_posn] => 3
        [ew-language__en__16__phrase__time_zone] => US/Pacific
        [submit] => SAVE VALUE INTO XML FILE
    )

foreach ($array as $key => $value)
                 {//some code}

Я хочу, чтобы это значение $ включало также нулевые значения

  • 0
    просто вы можете сделать как [ew-language__en__0__phrase__locale] => null,
  • 0
    этот массив получает значения динамически из XML-файла, где value = "", он отображается так, как я, я не могу сделать это так.
Показать ещё 2 комментария
Теги:

3 ответа

3
Лучший ответ

Обычно так:

Array(
    "[ew-language__en]" => null
)

Теперь вы только что упомянули, что вы динамически получаете эти значения из xml файла, где value=" ". Затем вы можете:

foreach ($array as $key => $value) {
    if ($value == "" || ctype_space($value) ) {
        $array[$key] = null;
    }
}

Если array[key] пуст или имеет только пробел, он будет преобразован в null.

Ссылка: ctype_space

  • 0
    этот массив получает значения динамически из XML-файла, где value = "", он отображается так, как я, я не могу сделать это так.
  • 0
    Учитывая эту новую информацию, у Helping Hands есть хорошее решение для XML
Показать ещё 2 комментария
1

Если вы динамически генерируете файлы из файла XML, ответ Drake не будет работать, так как он рассматривает значение ключа как строковый литерал "null". Вместо этого вы можете создать строковый литерал, а затем заменить его нулем при загрузке массива.

В вашем XML:

<ew-language__en__0__phrase__locale>NULL</ew-language__en__0__phrase__locale>

На вашем PHP, когда вы загружаете массив:

foreach ($array as $key => $value) {
if ($array[$key] == "NULL") {
$array[$key] = null;
}
}
  • 0
    Видите, мы не знали, что это было даже связано с XML до комментариев;)
  • 0
    @ Дрейкс Да, ничего против тебя. Твое самое простое решение :)
Показать ещё 1 комментарий
1

Затем используйте петлю -

foreach ($array as $key => $value)
{
    if(check_condition_to_set_null) $array[$key] = null;
}
  • 0
    Спасибо за помощь :)
  • 0
    Рад помочь тебе. :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню