noobie的PHP OOP混乱

noobie的PHP OOP混乱,php,oop,variables,Php,Oop,Variables,我有一个问题,这是因为我是一个彻头彻尾的程序程序员,为了使用我需要使用的库,我不得不使用一些OOP结构。我无法访问变量,只能打印出来。让我举例说明: foreach($html->find('span[class="given-name"]') as $e) echo $e->innertext . '<br>'; foreach($html->find('span[class="family-name"]') as $e) echo $e->

我有一个问题,这是因为我是一个彻头彻尾的程序程序员,为了使用我需要使用的库,我不得不使用一些OOP结构。我无法访问变量,只能打印出来。让我举例说明:

foreach($html->find('span[class="given-name"]') as $e)
    echo $e->innertext . '<br>';

foreach($html->find('span[class="family-name"]') as $e)
    echo $e->innertext . '<br>';
foreach($html->find('span[class=“给定名称”]”)作为$e)
回显$e->innertext。“
'; foreach($html->find('span[class=“family name”]”)作为$e) 回显$e->innertext。“
';
上面会打印出一长串的名字,然后是一长串的姓氏。但是我希望能够一起访问它们。例如,我想说一些类似于
$myarray[“firstname”]=(*在$e->innertext*中的任何内容)
$myarray[“姓氏”]=(*在下一个$e->innertext*中的任何内容)

当我尝试看似显而易见的方法时:

$x=$e->innertext

它崩溃了。我假设这是因为我传递的是一个指向
$x
的指针,而不是一个值,但我到底该如何告诉它我想要这个值——在本例中是人名的一部分,分配给
$x
,或者我的数组,或者任何变量


对于OOP的概念和构造,我几乎是个新手,所以请记住这一点。谢谢你的帮助

如果您的文档结构良好且井然有序,这应该可以做到:

$name=array();
$surname=array();

foreach($html->find('span[class="given-name"]') as $e){
    $name[]=$e->innertext;
}

foreach($html->find('span[class="family-name"]') as $e){
    $surname[]=$e->innertext;
}

foreach($name as $key=>$value){
  echo $name[$key] . " " . $surname[$key] . "<br>";
}
$name=array();
$姓氏=数组();
foreach($html->find('span[class=“给定名称”]”)作为$e){
$name[]=$e->innertext;
}
foreach($html->find('span[class=“family name”]”)作为$e){
$姓氏[]=$e->innertext;
}
foreach($key=>$value形式的名称){
回显$name[$key]。“”.$name[$key]。“
”; }
您是说在执行foreach循环时,您希望获取每个名称并将其存储在一个数组中?当您执行
$x=$e->innertext时,代码的其余部分是什么?它的前面是否有
foreach($html->find('span[class=“family name”]”)作为$e)
?谢谢你提供的HTML?
innerText
只是一个字符串,没有什么特别之处;因为加上那条线使它崩溃了。其余的都是很多相关数据项中的一个长长的列表,比如地址、城镇、州、国家等等。没有HTML可说。当它崩溃时,什么是错误信息?请把括号放在你的循环体上,不要推广糟糕的编程风格。我想我们应该考虑这个例子。还有名字吗?嗯。我没跟着你,伯吉尔。为什么我们需要检查它?我只是想知道当
count($name)
count($姓氏)
不同时的情况。现在我明白你的意思了。如果是这样,请检查它们是否相等,否则将无法解决此问题。如果元素不是偶数,则名称和姓氏将不匹配。这就是为什么我写的解决方案只有在文档结构良好的情况下才有效。