문제

객체 내의 일부 변수를 거칠 것이라는 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;
}
.

그러나 아무것도 인쇄되지 않습니다.

어떤 아이디어를 얻으려고하는 것이 가능하다면, 나는 그 영역 인 각 객체 멤버 변수에 대한 개별 위조 명령문을 그대로하지 않아도 될 것이라고 느끼는 것이 가능하다.

시간에 감사드립니다!

도움이 되었습니까?

해결책

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