Многомерные массивы - PullRequest
       8

Многомерные массивы

0 голосов
/ 20 октября 2011

У меня есть такая структура массива, которую я могу распечатать очень хорошо:

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
    )
)

По сути, я хочу иметь возможность распечатывать только ту информацию в массиве, которая связана с «автором» «Бобом». Как видите, у него там два предмета. Когда я распечатываю массив, он должен показывать только массивы 0 и 2, поскольку они единственные, которые содержат «author», то есть «Bob». Есть идеи?

Ответы [ 5 ]

5 голосов
/ 20 октября 2011
foreach ($array as $a) 
{
 if($a['author'] === 'Bob') {
   echo $a['title'];
   echo $a['author'];
   echo $a['link'];
 }
}
2 голосов
/ 20 октября 2011
foreach($arr as $item)
{
   if($item['author'] != 'Bob')
   {
      continue;
   }
   // print out Bob's stuff
}
1 голос
/ 20 октября 2011

Это код:

foreach($array as $subarray)
{
   if(strcasecmp($subarray['author'],'Bob') === 0)
      print_r($subarray);
}
0 голосов
/ 20 октября 2011

хорошо! попробуйте это:

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 голосов
/ 20 октября 2011

Просто foreach

foreach ($array as $item) {
  if ($item['author']) {
    // Do something with $item
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...