首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP字符串转换为数组

PHP字符串转换为数组
EN

Stack Overflow用户
提问于 2016-11-19 20:43:11
回答 2查看 100关注 0票数 0
代码语言:javascript
复制
$paypal_details = "array (
  'last_name' => 'Savani',      
  'item_name' => 'Description and pricing details here.',
  'item_number' => '101',      
  'custom' => 'localhost',      
  'period' => '1',
  'amount' => '10.01'
)";

以下是包含完整数组示例字符串。是否可以将字符串原样转换为数组?

EN

回答 2

Stack Overflow用户

发布于 2016-11-20 02:27:35

您确实应该尝试获取JSON或XML格式的信息,这两种格式都可以由PHP本地解析。如果这是不可能的,您可以使用下面的代码片段从字符串中获取PHP数组。它使用regular expressions将字符串转换为JSON格式,然后使用json_decode对其进行解析。

当然,应该进行改进以处理值中的转义单引号等,但这只是一个开始。

代码语言:javascript
复制
$paypal_details = "array (
  'last_name' => 'Savani',
  'item_name' => 'Description and pricing details here.',
  'item_number' => '101',
  'custom' => 'localhost',
  'period' => '1',
  'amount' => '10.01'
)";

# Transform into JSON and parse into array
$array = json_decode(
    preg_replace(
        "/^\s*'(.*)' => '(.*)'/m", # Turn 'foo' => 'bar'
        '"$1": "$2"',              # into "foo": "bar"
        preg_replace(
            "/array \((.*)\)/s",   # Turn array (...)
            '{$1}',                # into { ... }
            $paypal_details
        )
    ),
    true
);

echo "Last name: " . $array["last_name"] . PHP_EOL;

输出:

代码语言:javascript
复制
Last name: Savani
票数 1
EN

Stack Overflow用户

发布于 2016-11-19 20:50:38

您可以使用explode()函数。

代码语言:javascript
复制
<?php

$str = "Hello world. It's a beautiful day.";
print_r(explode(" ", $str));

http://www.w3schools.com/php/func_string_explode.asp

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40693030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档