2011-10-20 31 views
0

私はうまくプリントアウトすることができるよ。このような配列構造、持っている:基本的に、私はだ、アレイ内の情報のみをプリントアウトできるようにしたい多次元配列

Array 
(
    [0] => Array 
    (
     [title] => blah 
     [author] => Bob 
     [link] => randomlink 
    ) 

    [1] => Array 
    (
     [title] => random 
     [author] => George 
     [link] => randomlink 
    ) 

    [2] => Array 
    (
     [title] => blah 
     [author] => Bob 
     [link] => randomlink 
    ) 
) 

を「著者」「Bob」に関連しています。ご覧のとおり、彼には2つのアイテムがあります。私が配列を印刷するときは、 'Bob'という '著者'を含む唯一の配列なので、0と2の配列しか表示されません。何か案は?

答えて

5
foreach ($array as $a) 
{ 
if($a['author'] === 'Bob') { 
    echo $a['title']; 
    echo $a['author']; 
    echo $a['link']; 
} 
} 
+0

うんは、このそれをやりました。どうもありがとう! – John

2
foreach($arr as $item) 
{ 
    if($item['author'] != 'Bob') 
    { 
     continue; 
    } 
    // print out Bob's stuff 
} 
0

単にforeach

foreach ($array as $item) { 
    if ($item['author']) { 
    // Do something with $item 
    } 
} 
1

これはコードです:

foreach($array as $subarray) 
{ 
    if(strcasecmp($subarray['author'],'Bob') === 0) 
     print_r($subarray); 
} 
0

OK!この方法を試してください。

for($i=0;$i<count($array);$i++){ 
if($array[$i]['author'] == 'bob'){ 
    echo $array[$i]['title']." > ".$array[$i]['author']." > ".$array[$i]['link']."\r\n<br>"; 
    } 
     } 

...

+0

必ずしも正しいとは限りません。サブアレイの1つを削除するとどうなりますか? –

+0

Sidenote: 'for'-test-expressionで関数を使用しないでください。 – KingCrunch

+0

@AurelioDeRosa彼は彼が "bob"という作者でのみ印刷したいと頼んだので、doestが存在するかdoestが一致すればそれはそれをエコーし​​ません。 –