如何将null值存储到数组中

时间:2015-05-25 05:46:12

标签: php

$ array is this。前两个索引具有null值。我希望将此null存储在$ value数组中。怎么做

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}

我希望这个$值也包含空值

3 个答案:

答案 0 :(得分:3)

通常,像这样:

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

现在,您刚才提到过要从value=" "的xml文件中动态获取这些值。然后你可以这样做:

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

如果array[key]为空或只有空格,则会转换为null

参考:ctype_space

答案 1 :(得分:1)

然后使用循环 -

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

答案 2 :(得分:1)

如果您正在从XML文件动态传输文件,Drake的答案将无效,因为它将键的值视为字符串文字“null”。相反,你可以做的是创建一个字符串文字,然后在加载数组时用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;
}
}