Php 如何通过数组中的对象成员变量的一部分进行foreach?

Php 如何通过数组中的对象成员变量的一部分进行foreach?,php,object,foreach,member-variables,Php,Object,Foreach,Member Variables,我试图创建一个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"); }

我试图创建一个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语句


谢谢你的时间

你在循环中做错了。。您只有一个对象,而不是对象数组。所以正确的方法应该是

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

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

你在循环中做错了。。您只有一个对象,而不是对象数组。所以正确的方法应该是

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

可以在嵌套的foreach循环中执行此操作。这将是很容易的,而不是两个循环

foreach ($jabroni as $keys => $values)
{
    if ($keys == 'phrases' || $keys == 'moves') {
           foreach ($values as $value) {
             echo $value;
           }
    }
}

可以在嵌套的foreach循环中执行此操作。这将是很容易的,而不是两个循环

foreach ($jabroni as $keys => $values)
{
    if ($keys == 'phrases' || $keys == 'moves') {
           foreach ($values as $value) {
             echo $value;
           }
    }
}

那么我猜一个单独的foreach用于成员数组?那么我猜一个单独的foreach用于成员数组?