Как получить доступ к переменным, являющимся членами массива, частью объекта? - PullRequest
1 голос
/ 27 января 2012

Я пытаюсь создать foreach, который будет проходить через некоторые переменные внутри объекта.

На данный момент это просто

class jabroni
{
  var $name = "The Rock";
  var $phrases = array ("The rock says", "Im gonna put the smackdown on you", "Bring it on jabroni");
  var $moves = array ("Clothes line", "Pile driver", "Reverse flip");
}

Я пытался сделать это:

$jabroni = new jabroni()
foreach ($jabroni as $value)
{
  echo $value->phrases;
  echo $value->moves;
}

Однако ничего не печатается.

Любые идеи, если то, что я пытаюсь достичь, возможно, у меня такое интуитивное чувство, что это не так, и что мне придется просто делать отдельные операторы foreach для каждого объектапеременная-член, которая является областью?

Спасибо за ваше время!

Ответы [ 3 ]

2 голосов
/ 27 января 2012

Вы ошибаетесь в цикле. У вас есть один объект, а не массив объектов. поэтому правильный путь должен быть ..

$jabroni = new jabroni();
foreach ($jabroni->phrases as $value)
{
    echo $value;
}
foreach ($jabroni->moves as $value)
{
    echo $value;
}
2 голосов
/ 27 января 2012
foreach ($jabroni->phrases as $value) {
    echo $value;
}

foreach ($jabroni->moves as $value) {
    echo $value;
}
1 голос
/ 27 января 2012

Вы можете сделать это во вложенных циклах foreach. Это будет легко, вместо того, чтобы идти на две петли для seperatley

foreach ($jabroni as $keys => $values)
{
    if ($keys == 'phrases' || $keys == 'moves') {
           foreach ($values as $value) {
             echo $value;
           }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...