首页 > 解决方案 > 评估某个数组部分

问题描述

好的,我在网上找了几个小时,我很困惑如何在我的情况下使用 eval() 所以我知道 eval 是邪恶的,但我需要

并且出于个人原因我仍然想使用 eval 所以我怎样才能让变量 $part 像这样正常工作。

$numbers= array($part);

这意味着

$numbers= array(4,6,2,22,11);

但它不工作所以我怎么能用 eval 做到这一点?这是我失败的代码。

<?php

$part= eval(4,6,2,22,11);

$numbers= array($part);

sort($numbers);

$arrlength=count($numbers);

$output='';

for($x=0;$x<$arrlength;$x++) {
$output .= $numbers[$x].'<br>';
}

echo $output;

?>

这是我得到的错误

Parse error: syntax error, unexpected ',' in C:\path\example.php on line 3

标签: php

解决方案


eval仅将字符串作为 php 代码运行,您的使用是错误的,因为 2,4,6 不是 php 语言中的代码。文档是如何说的

eval - 将字符串评估为 PHP 代码

这将起作用。

$stringNumbers = "4,6,2,22,11";

$part= eval("return array(\".$stringNumbers.\");");

$numbers= $part;

推荐阅读