如何像文本一样将字符串转换为数组

时间:2011-06-16 09:36:30

标签: php arrays

我可以将此文本转换为数组类型。 因为我在某个页面上获取结果但是它返回到文本而不是数组。

$array="Array ( [Dog] => Array ( [leg] => 4 [eyes] => 2 ) [Cat] => Array ( [leg] => 3 [eyes] => 4 ) )";

3 个答案:

答案 0 :(得分:3)

您可以使用var_export存储可解析字符串,因为上面的字符串在使用eval执行时会出现语法错误,因为这不是有效的数组声明语法。

$array=array(1,2,3,4,5);
$b=var_export($array,true);
$c=eval("return $b;");
print_r($c);

答案 1 :(得分:0)

我不认为它应该在引号中。通过将它放在引号内,您告诉编译器它是一个字符串。如果它是PHP它应该是 $array = array("Dog" => array("leg"=>4, "eyes" => 2),"Cat" => array("leg"=>3, "eyes" => 4));

或者就像你有一个字符串,并希望将其中的数据转换为字符串???

答案 2 :(得分:0)

你有来自var_export函数的这个数组

你可以像这样带回你的阵列。

<?php
$array="Array ( [Dog] => Array ( [leg] => 4 [eyes] => 2 ) [Cat] => Array ( [leg] => 3 [eyes] => 4 ) )";
$finalRes=eval("return $array;");
print_r($finalRes);
?>

您可以使用var_export存储可解析的字符串,因为上面的字符串在使用eval执行时会出现语法错误,因为这不是有效的数组声明语法。

定义:Eval()用于将输入字符串评估为PHP。就像使用Echo()函数一样,它输出所有内容,除了不将其作为文本输出,它将其输出为要执行的PHP代码。其中一个用途是将代码存储在数据库中以便稍后执行。 也称为:评估字符串 例子:

 <?php 
 $name = 'Joe';
 $name2 = 'Jim';
 $a = 'My friends are $name and $name2';
 print $a . "<br>"; 
 eval("\$a = \"$a\";"); 
 print $a . "<br>"; 
 ?> 

这将输出我的朋友是$ name和$ name2,当第一次使用print语句调用时,但会输出我的朋友是Joe和Jim在第二次调用后运行eval()

你可以从这里获得数组