78我有一些代码,曾经工作,但现在传递错误:
解析错误:语法错误,意外情况' ['在第47行的(...)/ utility_helper.php
我一遍又一遍地检查所有括号和类似物都已关闭,我找不到任何看起来不正确的东西。包括第47行的功能是:
/* image_ratio($img)
* Returns one (1) if the image is landscape ratio (width > height) or reutrns
* zero (0) otherwise
*/
function image_ratio($img) {
$imgWidth = getimagesize($img)[0]; // <-- Line 47
$imgHeight = getimagesize($img)[1];
if ($imgWidth/$imgHeight > 1) {
return 1;
} else {
return 0;
}
}
我到底做错了什么?
更新
将链接47-48更改为以下内容(旧的PHP版本无法处理上述语法):
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
答案 0 :(得分:2)
正如本评论中所述,PHP&lt; 5.4不支持函数的数组解除引用。您应该这样做或更新您的PHP版本:
function image_ratio($img) {
$imgSize = getimagesize($img); // <-- Line 47
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
if (($imgWidth/$imgHeight) > 1) {
return 1;
} else {
return 0;
}
}
答案 1 :(得分:2)
创建一个数组,然后从数组中生成变量:
$imageSize = getimagesize($img);
$imgWidth = $imageSize[0];
$imgHeight = $imageSize[1];
答案 2 :(得分:1)
对于PHP版本&lt; 5.4不支持函数数组解引用,您可以使用list()将数组元素分配给(单个)变量。
list($width, $height) = getimagesize('...');
答案 3 :(得分:0)
尝试:
function image_ratio($img) {
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
if ($imgWidth/$imgHeight > 1) {
return 1;
} else {
return 0;
}
}