$shopinfo="黑色@@@/70A/11/12/13/@@@/70B/21/22/23/@@@/70C/21/22/23/@@@/70D/21/22/23/@@@/70E/21/22/23/@@@/75A/21/22/23/@@@/75B/21/22/23/@@@/75C/21/22/23/@@@/75D/21/22/23/@@@/75E/21/22/23/@@@/80A/21/22/23/@@@/80B/21/22/23/@@@/80C/21/22/23/@@@/80D/21/22/23/@@@/80E/21/22/23/@@@/85A/21/22/23/@@@/85B/21/22/23/@@@/85C/21/22/23/@@@/85D/21/22/23/@@@/85E/21/22/23/@@@/90A/21/22/23/@@@/90B/21/22/23/@@@/90C/21/22/23/@@@/90D/21/22/23/@@@/90E/21/22/23/###红色@@@/70A/11/12/13/@@@/70B/21/22/23/@@@/70C/21/22/23/@@@/70D/21/22/23/@@@/70E/21/22/23/@@@/75A/21/22/23/@@@/75B/21/22/23/@@@/75C/21/22/23/@@@/75D/21/22/23/@@@/75E/21/22/23/@@@/80A/21/22/23/@@@/80B/21/22/23/@@@/80C/21/22/23/@@@/80D/21/22/23/@@@/80E/21/22/23/@@@/85A/21/22/23/@@@/85B/21/22/23/@@@/85C/21/22/23/@@@/85D/21/22/23/@@@/85E/21/22/23/@@@/90A/21/22/23/@@@/90B/21/22/23/@@@/90C/21/22/23/@@@/90D/21/22/23/@@@/90E/21/22/23/###黄色@@@/70A/11/12/13/@@@/70B/21/22/23/@@@/70C/99/22/23/@@@/70D/21/22/23/@@@/70E/21/22/23/@@@/75A/21/22/23/@@@/75B/21/22/23/@@@/75C/21/22/23/@@@/75D/21/22/23/@@@/75E/21/22/23/@@@/80A/21/22/23/@@@/80B/21/22/23/@@@/80C/21/22/23/@@@/80D/21/22/23/@@@/80E/21/22/23/@@@/85A/21/22/23/@@@/85B/21/22/23/@@@/85C/21/22/23/@@@/85D/21/22/23/@@@/85E/21/22/23/@@@/90A/21/22/23/@@@/90B/21/22/23/@@@/90C/21/22/23/@@@/90D/21/22/23/@@@/90E/21/22/23/";$s=$shopinfo;
foreach(explode('###',$s) as $v){
$arr = explode('@@@/',$v);
$k = array_shift($arr);
$p = $q = array();
foreach($arr as $r) {
$t = explode('/', trim($r, '/'));
$p[] = array_shift($t);
$q[] = $t;
}
$ar[$k] = array_merge(array($p), $q);
}
print_r($ar);如何判断某个元素在不在数组中,是数组的第几个元素,并更新数组中指定元素内容的比如:首先判断数组中,是否有('黑色')再判断是否有('70B')找到('70B' 后的第3位元素,以/杠隔开为一个元素,以上例打到的值为”23“)
假如我现在想对23-3 让23的值 更新成’20‘ 其它数组的数据不变,应该怎么操作??
foreach(explode('###',$s) as $v){
$arr = explode('@@@/',$v);
$k = array_shift($arr);
$p = $q = array();
foreach($arr as $r) {
$t = explode('/', trim($r, '/'));
$p[] = array_shift($t);
$q[] = $t;
}
$ar[$k] = array_merge(array($p), $q);
}
print_r($ar);如何判断某个元素在不在数组中,是数组的第几个元素,并更新数组中指定元素内容的比如:首先判断数组中,是否有('黑色')再判断是否有('70B')找到('70B' 后的第3位元素,以/杠隔开为一个元素,以上例打到的值为”23“)
假如我现在想对23-3 让23的值 更新成’20‘ 其它数组的数据不变,应该怎么操作??
解决方案 »
- 求 某个网站某个图片的真实地址
- 數據庫語句幫助
- php 中的ec paypal支付问题
- 推荐一本学习php最好的教材
- 在session中,unset()和destroy()在删除上有什么区别
- smarty怎么用php函数把字符串转成数组后在计算数组个数?。。。帮看下谢谢!!!
- 用下面方法下载avi的文件,为什么用本页面“媒体”打开了??wmv格式的怎么下载正常?
- ~~~请高手谈托管服务器做聊天室~~~~~~~~~~~~~~~~~~~~~~~~
- 在PHP中echo和print以及include和require的区别?
- 关于apache的IP邦定的问题!
- cooking
- linux环境下,php文件被同一个文件替换以后不能执行
对于你这个数据结构array_key_exists ( '黑色' , $ar )
$i=array_search('70B', $ar['黑色'])找到key$z=3; 你要找第三个值
$ar['黑色'][$i+1][$z-1] 就是了
改变就是把找到的重新赋值而已
Disallowed Key Characters.你不是在宣扬些什么XXX吧?哈哈
有什么在这里问,我难得看一次私信
foreach(explode('###',$s) as $v){
$arr = explode('@@@/',$v);
$k = array_shift($arr);
$p = $q = array();
foreach($arr as $r) {
$t = explode('/', trim($r, '/'));
$p = array_shift($t);
$q[$p] = $t;
}
$ar[$k] = $q;
}
print_r($ar);那最终 $ar[颜色][尺寸?][位置-1] 就是你要的数据