簡體   English   中英

PHP eval(array_as_string)返回null

[英]PHP eval(array_as_string) returns null

$arr = eval("array('foo'=>'bar');");

// returns null
var_dump($arr);

有人可以解釋為什么我得到null而不是數組嗎?

您需要return數組。

文檔

除非在評估代碼中調用return否則eval()返回NULL ,在這種情況下,將return傳遞給return的值。

因此,您需要執行以下操作:

$arr = eval("return array('foo'=>'bar');");

你的意思是

eval("\$arr = array('foo'=>'bar');"); 

var_dump($arr);

首先,強烈不鼓勵eval手冊中所述。

另外,您應該做類似$arr = eval("return array('foo'=>'bar');"); 即。 用eval函數初始化$arr 這里看到它的作用

eval函數執行提供給它的php代碼。 由於您的代碼未返回任何內容,因此為null。 您需要返回數組並將其存儲在變量中,例如,

$arr = eval("return array('foo'=>'bar');");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM