最初这个代码在我的个人开发服务器上运行:
$id = str_split(md5(mt_rand()), 16)[0];
Run Code Online (Sandbox Code Playgroud)
但是在另一台服务器上,(相同版本的Apache和PHP,我不知道远程php.ini是什么样的),代码抛出了这个错误:
Parse error: syntax error, unexpected '[' ...
Run Code Online (Sandbox Code Playgroud)
我通过将代码更改为"修复"了该问题:
$id = str_split(md5(mt_rand()), 16);
$id = $id[0];
Run Code Online (Sandbox Code Playgroud)
然后后来改回原来尝试追捕问题 - 但原始代码有效!为什么第一行代码会抛出语法错误?我试过寻找解释,但我不知道该怎么称呼这类问题.
直到PHP 5.4才使用像这样的直接数组解引用.
您必须分配一个临时变量:
$arr = your_function();
$value = $arr[0];
Run Code Online (Sandbox Code Playgroud)
请参见示例#7:http://php.net/manual/en/language.types.array.php
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |