使用键和值在数组中存储字符串

时间:2018-02-21 04:20:57

标签: php arrays

我有一个字符串= "Name":"Susan","Age":"23","Gender":"Male";

如何将它们存储在一个数组中,以便我可以回显该值,例如:

echo $array['Name']

echo $array['Age']

由于

5 个答案:

答案 0 :(得分:2)

如果您的字符串已经:

"Name":"Susan","Age":"23","Gender":"Male"

这几乎是JSON,所以你可以将它用大括号括起来并将其转换成一个数组:

$decoded = (Array)json_decode('{'.$str.'}');

json_decode()通常会输出一个对象,但在这里我们将它转​​换为数组。这不是必需的,但它会改变您访问结果元素的方式。

这将呈现以下关联数组:

array(3) {
  ["Name"]=>
  string(5) "Susan"
  ["Age"]=>
  string(2) "23"
  ["Gender"]=>
  string(4) "Male"
}

答案 1 :(得分:1)

PHP中的关联数组是您完成任务所需的。在PHP中array()实际上是有序地图,即valueskey的关联。这是一个例子。关联数组是一个数组,其中每个键都有自己的特定值。这是一个例子。

$values = array("Name"=>"Susan", "Age"=>"23", "Gender"=>"Male");
echo $values['Name'];
echo $values['Age'];
echo $values['Gender'];

答案 2 :(得分:1)

您可以将字符串存储为json

$json = '{"Name":"Susan","Age":"23","Gender":"Male"}';
$array = json_decode($json, true);
var_dump($array);

手册将json_decode的第二个参数指定为:

关联 如果为TRUE,返回的对象将转换为关联数组。

https://stackoverflow.com/a/18576902/5546916

答案 3 :(得分:0)

试试这个。

$items=array("Name"=>"Susan","Age"=>"23","Gender"=>"Male");
echo $items['Name'];

答案 4 :(得分:0)

尝试以下代码段

$string = "Name":"Susan","Age":"23","Gender":"Male";

//explode string with `,` first
$s = explode(",",$string); // $s[0] = "Name":"Susan"....


$array = array();
foreach($s as $data){
    $t = array();
    $t = explode(":",$data); //explode with `:`
    $array[$t[0]] = $t[1];
}

echo $array["name"];