phpcms 将字符串转换为数组 函数
/**
* 将字符串转换为数组
*
* @param string $data 字符串
* @return array 返回数组格式,如果,data为空,则返回空数组
*/
function string2array($data) {
if($data == '') return array();
@eval("$array = $data;");
return $array;
* 将字符串转换为数组
*
* @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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
你看看你phpcms里面多图、在数据库怎么存的,就知道这个函数干嘛用的啦!
这函数不是你这么用的
这个函数的目的是为了保证在多编码条件下能一致,序列化在不同编码版本下内容不一样,所以用在做开源多编码程序不太适合
serialize / unserialize 序列化不就行了
理解错误了,误以为预期效果是'abcdef' 变成 array('a','b','c','d','e','f')
明显你传入的string不对,应该是$date='array("abc"=>123)';这样的