【问题标题】:store string with key and value in array将带有键和值的字符串存储在数组中
【发布时间】:2018-07-31 13:46:55
【问题描述】:

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

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

echo $array['Name']

echo $array['Age']

谢谢

【问题讨论】:

标签: php arrays


【解决方案1】:

如果你的字符串已经是:

"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"
}

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    【解决方案3】:

    您可以将字符串存储为 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

    【讨论】:

      【解决方案4】:

      试试这个。

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

      【讨论】:

        【解决方案5】:

        试试下面的sn-p

        $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"];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多