在PHP中构建动态数组

nat*_*lia 14 php syntax-error

我需要使用不同格式/结构的对象创建一个数组

我有:

$t = object()
$t > user = object()
$t > user > 0 (object) name = 'wilson';
$t > user > 0 (object) first = 'carl';
Run Code Online (Sandbox Code Playgroud)

我需要得到:

$t = array(
 name = wilson
 first name = phil
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的以及我被困的地方

foreach($t as $a) { 
      foreach($a as $l) {
          $arr[$l->0->name] = $l->0->first; // line 10
      }
  }
  print_r($arr);
Run Code Online (Sandbox Code Playgroud)

现在我收到一个错误:

PHP解析错误:语法错误,意外T_LNUMBER,在第10行的homework1-a-1.php中期待T_STRING或T_VARIABLE或'{'或'$'

我该怎么办才能修复它?

Log*_*man 18

你的问题很混乱.这就是我的理解:

你有以下几点:

  • $t,这是一个对象.
  • $t->user,也是一个对象.
  • $t->user[0]->name = 'wilson'
  • $t->user[0]->first = 'carl'

你说你需要得到:

  • $t->name = 'wilson'
  • $t->first = 'carl'

你在问题中说'phil',但是给定的对象$t没有提到'phil'所以我不知道'phil'是否凭空出现,或者是什么.

这是对问题的正确看法吗?如果是这样,您需要在问题中澄清这一点.说$t > user > 0 (object) name没有意义.

对不起,这是一个"答案",我在评论中无法满足所有这些要求.如果你澄清问题,我会删除它.希望我不是唯一被这个混淆的人.