PHP自动化

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP自动化脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
更新:我对此问题的初衷是确定 PHP是否确实具有此功能.在答案中关注标量问题时,这已经失去了.请改为查看这个新问题: @L_419_1@此问题留待此处查阅.

According to Wikipedia,PHP没有自动生成,但此代码有效:

$test['a']['b'] = 1;
$test['a']['c'] = 1;
$test['b']['b'] = 1;
$test['b']['c'] = 1;

var_dump($test);

输出

array
  'a' => 
    array
      'b' => int 1
      'c' => int 1
  'b' => 
    array
      'b' => int 1
      'c' => int 1

我发现这段代码也有效:

$test['a'][4] = 1;
$test['b'][4]['f'] = 3;

添加此行会引发警告(“警告:不能将标量值用作数组”)

$test['a'][4]['f'] = 3;

这里发生了什么?当我在索引之后添加关联元素时,为什么会失败?这是’真正的’PErl式自动更新,还是其中的一些变体,还是其他什么?

编辑:哦,我现在看到标量的错误,哎呀!这些按预期工作:

$test['a'][4]['a'] = 1;
$test['a'][4]['b'] = 2;
$test['a'][5]['c'] = 3;
$test['a'][8]['d'] = 4;

那么,PHP确实有autovivification?在GOOGLE搜索PHP autovivification”并没有提出一个典型的答案或例子.

PHP manual上的方括号语法:

用你的例子:

$test['a'][4] = 1;

由于$test和$test [‘a’]目前不存在;它们都是作为数组创建的.

$test['b'][4]['f'] = 3;

$test [‘b’]和$test [‘b’] [4]目前不存在;它们都是作为数组创建的.

$test['a'][4]['f'] = 3;

$test [‘a’] [4]确实存在,但它是一个整数(1).这是不能用作数组的“标量值”.您不能在数字值上使用方括号[]语法;它不会将现有值转换为数组.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP自动化全部内容,希望文章能够帮你解决PHP自动化所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。