数组关联问题.

红尘无爱 2018-05-22 11:14:38
Path=0,242375-0,243641-0,24360-0,420-35476,1-35478,2-35479,3-35473,19-35474

我想得到 420-35476,1-35478,2-35479

并让它变成
array(
35476=>420
35478=>1
35479=>2

);
...全文
241 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
$str = "Path=0,242375-0,243641-0,24360-0,420-35476,1-35478,2-35479,3-35473,19-35474";
	    $arrRes = explode(',',$str);
	    foreach( $arrRes AS $val ){
            if( strpos($val,'-') ){
                $tmpArr = explode('-',$val);
                if( is_array($tmpArr) ){
                    $num1 = intval($tmpArr[0]);
                    $num2 = intval($tmpArr[1]);
                    echo $num1.'<br />'.$num2.'<br />';
                    if( in_array( $num2,array(35476,35478,35479)) ){
                        $newArr[$num2]=$num1;
                    }
                }
            }
        }
	    echo '<pre />';
	    print_r($newArr);die;
小温LLT 2018-05-22
  • 打赏
  • 举报
回复
使用正则表达式 轻松解决
小温LLT 2018-05-22
  • 打赏
  • 举报
回复
<?php $str="420-35476,1-35478,2-35479"; $zhengze="/(\d+)-(\d+)/"; preg_match_all($zhengze,$str,$result); $arr=array_combine($result[2],$result[1]);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧