0

私はこれを実現するのに苦労しています..おそらく誰かがこれを達成する方法を知っています.

ここに画像の説明を入力

ここにフルイメージがあります

http://imageshack.us/photo/my-images/405/array.png/

fields_new(Arr...) は ['value'] = string (11111) になる必要があります

4

1 に答える 1

1

入力配列:

...
0{
    data{
        nid => 1
        vid => 1
        type => article
        field_new{
            und{
                0{
                    value => 11111
                }
            }
        }
    }
}
1{
    data{
        nid => 2
        vid => 2
        type => article
        field_new{
            und{
                0{
                    value => 33333
                }
            }
        }
    }
}

ご希望の配列:

...
0{
    data{
        nid => 1
        vid => 1
        type => article
        value => 11111
    }
}
1{
    data{
        nid => 2
        vid => 2
        type => article
        value => 33333
    }
}

Unset (http://php.net/manual/en/function.unset.php)は私たちの友達です。

unset() は、指定された変数を破棄します。

次のコードを使用します。

<?php

$loop_count = count($input_arr);
for($i=0;$i<loop_count;$i++){
    //copy the value to the desired place
    $input_arr[$i]["data"]["value"] = $input_arr[$i]["data"]["field_new"]["und"][0]["value"];

    //delete the unwanted portion
    unset($input_arr[$i]["data"]["field_new"]);
} // for loops ENDS

?>

仮定:

  • ベース/親配列は数値的にインデックス付けされています。
  • 各配列で、field_new は同じレベルにあります。

この配列を生成/取得するために使用しているコードを追加してください。より具体的な回答を提供できます。

于 2012-09-02T13:31:11.860 に答える