Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组的PHP版本差异_Php_Arrays - Fatal编程技术网

数组的PHP版本差异

数组的PHP版本差异,php,arrays,Php,Arrays,我在使用不同版本的PHP数组时遇到了一些问题。我正在为wordpress主题创建一个定制的公文包页面,它使用最新的PHP版本在localhost上完美地工作。但是,当我想在线尝试时,我遇到了一个错误: 分析错误:语法错误,第72行的/wordpress/wp content/themes/theme/functions.php中出现意外的“[”,应为“,”或“;” 服务器运行的是PHP版本4.0.10.14,我需要在那里安装公文包。有没有办法将这一行转换为与旧PHP版本兼容,但仍然可以在最新的P

我在使用不同版本的PHP数组时遇到了一些问题。我正在为wordpress主题创建一个定制的公文包页面,它使用最新的PHP版本在localhost上完美地工作。但是,当我想在线尝试时,我遇到了一个错误:

分析错误:语法错误,第72行的/wordpress/wp content/themes/theme/functions.php中出现意外的“[”,应为“,”或“;”

服务器运行的是PHP版本4.0.10.14,我需要在那里安装公文包。有没有办法将这一行转换为与旧PHP版本兼容,但仍然可以在最新的PHP版本中使用它

<img src="<?php echo get_post_meta(get_the_ID(), 'portfolio_imgs', 
 true)[$i]['url']; ?>" width="96" height="54"/>
“width=“96”height=“54”/
以下是代码的完整部分:

$portfolio_array = get_post_meta(get_the_ID(), 'portfolio_imgs', true);
$arrlength = count($portfolio_array);
for ($i=0; $i<$arrlength; $i++) {
?>
<div class="uploaded_images" id="image_<?php echo "$i" ?>" 
            onClick="delete_image(<?php echo $i; ?>)">
    <img src="<?php echo get_post_meta(get_the_ID(), 'portfolio_imgs', 
             true)[$i]['url']; ?>" width="96" height="54"/>
    <input type="hidden" id="id<?php echo $i ?>" name="selection[]" value="keep"/>
</div>
<?php
}
?>
$portfolio\u array=get\u post\u meta(get\u ID(),'portfolio\u imgs',true);
$arrlength=计数($portfolio_数组);
对于($i=0;$i)
5.5之前的PHP(或5.4我不确定)不允许在函数调用后立即索引数组

您的代码可以通过以下方式重写:

<?php
$src = get_post_meta(get_the_ID(), 'portfolio_imgs', true);
$src = $src[$i]['url'];
?>
<img src="<?php echo $src; ?>" width="96" height="54" />

“width=“96”height=“54”/>
5.5之前的PHP(或5.4我不确定)不允许在函数调用后立即索引数组

您的代码可以通过以下方式重写:

<?php
$src = get_post_meta(get_the_ID(), 'portfolio_imgs', true);
$src = $src[$i]['url'];
?>
<img src="<?php echo $src; ?>" width="96" height="54" />

“width=“96”height=“54”/>

假设您的
get\u post\u meta()
函数返回一个有效数组,那么以下操作应该有效:

$result = get_post_meta(get_the_ID(), 'portfolio_imgs', true);
<img src="<?php echo $result[$i]['url']; ?>" width="96" height="54"/>
$result=get_post_meta(get_ID(),'portfolio_imgs',true);
“width=“96”height=“54”/>

您当前的版本正在使用中引入的所谓“函数数组解引用”。

假设您的
get\u post\u meta()
函数返回有效数组,则以下操作应有效:

$result = get_post_meta(get_the_ID(), 'portfolio_imgs', true);
<img src="<?php echo $result[$i]['url']; ?>" width="96" height="54"/>
$result=get_post_meta(get_ID(),'portfolio_imgs',true);
“width=“96”height=“54”/>

您当前的版本正在使用中引入的所谓的“函数数组解引用”。

您是在开玩笑说它正在运行
PHP版本4.0.10.14
,对吧?
我是认真的吗?它正在运行旧的PHP版本:STry从变量而不是函数访问索引(您已经将
get_post_meta(get_ID(),'portfolio\u imgs',true)
调用到
$portfolio\u数组中,所以请尝试
“width=“96”height=“54”/>
)@iwan如果这是真的,你需要新的主机。我的意思是4.0在15年前就死了。而且,我甚至不确定这个版本是否存在,最后发布的4.0版本似乎是4.0.6。你在开玩笑说它运行的是
PHP版本4.0.10.14
,对吧?这是
我认真的吗?它运行的是旧PHP版本:STry从var访问索引可以代替函数(您已经调用了
get\u post\u meta(get\u ID(),'portfolio\u imgs',true);
$portfolio\u数组中,所以请尝试
“width=“96”height=“54”/>
)@iwan如果这是真的,你需要新的主机。我的意思是4.0在15年前就死了。而且,我甚至不确定这个版本是否存在,4.0最后发布的版本似乎是4.0.6。