Как foreach через часть объектов объектов переменных, которые являются массивами?

StackOverflow https://stackoverflow.com/questions/9034686

Вопрос

Я пытаюсь создать 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 для каждой переменной элементов объекта, которая является областью?

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

Это было полезно?

Решение

You are doing wrong the loop.. You have one object, not an array of objects. so the correct way should be..

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

Другие советы

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

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

You can do it in nested foreach loops. This will be easy instead of going for two for loops seperatley

foreach ($jabroni as $keys => $values)
{
    if ($keys == 'phrases' || $keys == 'moves') {
           foreach ($values as $value) {
             echo $value;
           }
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top