index of 怎样索取多维数组

index of 怎样索取多维数组,第1张

项目中经常会用到获取多维数组某个特定键的所有值,经常的做法是循环获取,今天在网上看到一个不用循环获取的办法,如下

function array_get_by_key(array $array, $string){

if (!trim($string)) return false;

preg_match_all("/"$string";\w{1}:(:\d+:|)();/", serialize($array), $res);

return $res[1];

}

$r = array('id'=> 1, 's'=> 23, 'a' => array('s' => 123, array(1, 2, 's' => "asdasdgsadggsadg")));

echo '<pre>';

print_r (array_get_by_key($r, 's'));

把数组转换成字符串后再存入数据库

参考函数

implode() ---把数组转换成字符串

explode() ---把字符串转换成数组

手册里有详细说明

序列化以后存储

对于一维数组可以简单的用

implode

explode

函数做数组——串的变换,但需注意分隔符要使用数组中不存在的字符

对于多维数组可以用序列化函数处理

serialize

unserialize

函数的用法手册中都有

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部

获取一维数组:

count()和sizeof() 都可以直接统计一维数组长度。示例如下:

$arr = Array('0','1','2','3','4','5','6','7','8','9'); echo count($arr); // 输出10

$arr = array('苹果','香蕉','桔子','西瓜','梨','葡萄'); echo sizeof($arr); // 输出6

获取二维数组长度:

count()函数有两个参数:

count($arr,COUNT_NORMAL); //默认,不检测多维数组

count($arr,COUNT_RECURSIVE); //检测多维数组

例子:

$arr = array(

0=>array('name'=>'kong','age'=>'18'),

1=>array('name'=>'liang','age'=>'30')

);

count($arr) = 2;

count($arr,COUNT_RECURSIVE) = 6;非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

以上就是关于index of 怎样索取多维数组全部的内容,包括:index of 怎样索取多维数组、mysql数据库 怎么得到序列化数组的长度、php中统计数组的长度是那个函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9437708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存