0

私は次のコードラインを持っています

$return_array = array(
            $count_answers => array(
                    "name" => $domain,
                    "type" => $type,
                    "class" => $class,
                    "ttl" =>$ttl,
                    "data_lenght" => $data_l
                    )
     );

preference次のコードでデータ長の後に追加したい

array_push($return_array[$count_answers]['preference'], $preference);

警告:array_push()は、パラメーター1が配列であると想定しています。nullは行367の\ Functions\functions.phpに指定されています

最初のパラメータが配列ではないのはなぜですか?

4

5 に答える 5

5

$return_arrayによってインデックス付けされた要素がないため'preference'です。$preference代わりにこれを追加できます

$return_array[$count_answers]['preference'][] = $preference;

または最初に空の配列で初期化します

$return_array[$count_answers]['preference'] = array();

設定の配列を追加するのではなく、要素を 1 つだけ追加する場合は、次のよう'preference'に追加します。

$return_array[$count_answers]['preference'] = $preference;
于 2012-12-13T11:10:30.933 に答える
2

を使用する必要はありませんarray_push。アイテムを直接追加できます。

$return_array[$count_answers]['preference'] = $preference;

array_push文字列をインデックスとして許可しないため、次のように$preferenceなります$return_array[$count_answers][0]

367行目では、配列を提供していませんが、現在の配列に空の要素を提供しています。

于 2012-12-13T11:09:04.033 に答える
1

以下でコードを修正する必要があります。

$return_array = array(
        $count_answers => array(
                "name" => $domain,
                "type" => $type,
                "class" => $class,
                "ttl" =>$ttl,
                "data_lenght" => $data_l
                )
 );

$preference['preference'] = "kkk";

変えるだけ

$return_array[$count_answers]['preference']

$return_array[$count_answers]

以下のようにarray_pushで

array_push($return_array[$count_answers], $preference);
于 2012-12-13T11:10:00.990 に答える
0
foreach($arr_data_arrays as $key=>$line_arr) { // do an array looping at first

        $new_arr = array(); // create an array to be included on the second position
        $new_arr[0] = $line_arr;

        array_push($arr_data_arrays[$key][1],$new_arr);//include the whole array on the sec position
};

そんな簡単に!

于 2014-07-18T03:18:55.987 に答える
0

多次元配列で array_push() を使用することは矛盾しています。

PHP 配列は階層的であり、多次元ではありません。そして、array_push は、指定された値を持つ番号付き要素を追加します。さらに、array_push() の使用法はマニュアルで明確に説明されています。

次のコードでデータ長の後に「設定」を追加したい

なぜそのコードでそれをしたいのですか?それは失敗しており、その理由は明白なはずです。

使用する必要があるコードは次のとおりです。

$return_array[$count_answers]['preference']=$preference;
于 2012-12-13T11:22:17.727 に答える