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