PHP数组声明:从现有键分配值

时间:2015-12-01 17:17:47

标签: php arrays

很难找到一个有意义的问题标题。我将用一个例子更好地解释:

$defaults = [
   'user_posts' => [
      'default_per_line' => 4,
      'default_per_page' => [user 'default_per_line'] * 2,
   ],
   'admin_posts' => [
      'default_per_line' => 6,
      'default_per_page' => [admin 'default_per_line'] * 2,
   ],
];

'user default_per_line'的意思是使用已经指定为['user_posts'] ['default_per_page']的值,并将其与2(或其他任何东西)进行多重拼接。

可以吗?如果是这样的话?

1 个答案:

答案 0 :(得分:1)

我很肯定我说不,它不能在一次转让中完成。

只有你可以做到的方法是在事后改变数组:

$defaults = [
   'user_posts' => [
      'default_per_line' => 4,
      'default_per_page' => 0,
   ],
   'admin_posts' => [
      'default_per_line' => 6,
      'default_per_page' => 0,
   ],
];
$defaults['user_posts']['default_per_page'] = $defaults['user_posts']['default_per_line'] * 4;
$defaults['admin_posts']['default_per_page'] = $defaults['admin_posts']['default_per_line'] * 4;

这在很大程度上打败了你想要做的事情。