配列のオブジェクトメンバ変数の一部を通して、かかる方法は何ですか?

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