0

我有这个代码:

$people=array();
$i=0;
foreach ($xml->xpath('//person') as $character) {
if ($character->status!="Active"){

  $people[$i]['fullname']=(string)$character->fullname;
  $people[$i]['status']=(string)$character->status;
  $i++;

    }
}

它根据 $i 的值创建一个带有数字键的数组。但是,我实际上并不希望这样,我希望“全名”字符串成为键,但我不知道如何动态分配键。我正在尝试类似的事情:

$people[(string)$character->fullname]=>(string)$character->status;

但这只会引发错误。我不知道如何根据变量创建键。有人可以帮忙吗?

4

3 回答 3

7

再试一次,但使用=, not =>

$people[ (string) $character->fullname ] = (string) $character->status;
于 2011-03-10T15:15:01.980 回答
1

您仅=>在 Array 定义中使用。否则只需使用沼泽标准分配:

$people[$character->fullname] = $character->status;

您不需要演员表,因为您已经有了字符串。即使你没有,你也可以简单地依靠动态类型来根据需要在输出上转换它们。

于 2011-03-10T15:27:11.370 回答
0
$people[$character->fullname] = (string)$character->status;
于 2011-03-10T15:15:33.240 回答