phpcms 将字符串转换为数组 函数

发布于 2021-11-23 15:39:51 字数 836 浏览 663 评论 6

/**
* 将字符串转换为数组
*
* @param string $data 字符串
* @return array 返回数组格式,如果,data为空,则返回空数组
*/
function string2array($data) {
    if($data == '') return array();
    @eval("$array = $data;");
    return $array;

}

这是phpcms里的一个函数,我试用了一下发现并没有达到函数预定的效果

$date = 'abcdef';
$a = string2array($date);
var_dump($a);
foreach($a as $v){
    echo $v.'-';
}

显示结果:

string(6) "sunflw" 
Warning: Invalid argument supplied for foreach() in E:APMServ5.2.6wwwhtdocstest.php on line 12

并没有转换成数据,不明白,求指教。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

累赘 2021-11-23 23:22:52

你看看你phpcms里面多图、在数据库怎么存的,就知道这个函数干嘛用的啦!

清晨说ぺ晚安 2021-11-23 23:22:48

这函数不是你这么用的

居里长安 2021-11-23 23:00:12

这个函数的目的是为了保证在多编码条件下能一致,序列化在不同编码版本下内容不一样,所以用在做开源多编码程序不太适合

挽清梦 2021-11-23 22:37:12

serialize / unserialize 序列化不就行了

能否归途做我良人 2021-11-23 16:41:06

理解错误了,误以为预期效果是'abcdef' 变成 array('a','b','c','d','e','f')

悲喜皆因你 2021-11-23 15:46:15

明显你传入的string不对,应该是$date='array("abc"=>123)';这样的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文