2011-07-19 9 views

答えて

2

一つの方法:

$word = 'foo'; 
$data = json_decode($tree); 

$found = false; 
foreach($tree as $element) { 
    if ($element['name'] == $word) { 
     $found = true; 
     break; 
    } 
} 
if (!$found) { 
    die("Word not found"); 
} 
+2

私はjson_decodeの2番目のパラメータとしてtrueを渡す必要があると思うので、オブジェクトの代わりに連想配列を生成します。それ以外の場合は、コードを$ element-> nameに変更する必要があります – fromvega

1

まずjson_decodeを使用して、有効なPHPのデータ型にJSONコードを変換するためにあなたの必要性、このような。たとえば、配列のような有効なPHPデータ型を取得したら、値をループしたり、PHP配列関数を使って検索することができます。

あなたは配列に変換した場合、あなたは簡単に(あなたの例と同じ構造を維持する)このような新しい値を挿入することができます。

$tree[]['name'] = 'Hi'; 

作業が完了したら、JSONを取得するためにjson_encodeを使用あなたの新しい木の表現。

+0

あなたの方法でどうすればよいですか?私が知っているように、 '[] 'に数字を入れて' $ tree [0] [' name '] 'のようにしてください... –

+0

配列のインデックスを指定しないと、PHPはあなたのために新しい要素を作成するので、配列内にいくつの要素があるかを知る必要はありません。 – fromvega

+0

ok、今は知っています、ありがとうございます。しかし、Marc Bが最初の答えであり、彼の返信はうまくいく可能性があります。だから、ちょうどあなたに+1を与える。 –

関連する問題