php一维数组转化二维数组实现数组键值替换及转化json乱码

<?php

header("Content-type:text/html;charset=UTF8");

session_start();

$x = $_SESSION['attribute_name'];

$arr = $_SESSION['attribute'];

foreach($arr as $k => $val)

{    

if(!isset($tmp[$val[0]]))

{       

  $tmp[$val[0]][$val[1]] = array( 'attribute_val_id'=>$val[1], 'attribute_val'=>$val[2], );   

  }

else

{      

   $tmp[$val[0]][$val[1]] = array( 'attribute_val_id'=>$val[1], 'attribute_val'=>$val[2], );    

}

}

echo "<pre>";

$list = array();
foreach($tmp as $kx=>$v)
{
 foreach($x as $ky)
 {
  if($kx==$ky['attribute_id'])
  {
   $list[$ky['attribute_name']] = $v;
  }
 }
}
echo $product_attribute = preg_replace("#\\\u([0-9a-f]{4}+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))",json_encode(array($list)));

注:$_SESSION['attribute_name'];的打印结果:Array
(
    [0] => Array
        (
            [attribute_id] => 29
            [attribute_name] => size
        )

    [1] => Array
        (
            [attribute_id] => 30
            [attribute_name] => 大小
        )

    [2] => Array
        (
            [attribute_id] => 26
            [attribute_name] => color
        )

)

$arr = $_SESSION['attribute'];的打印结果:Array
(
    [0] => Array
        (
            [0] => 29
            [1] => 41
            [2] => 200cm
        )

    [1] => Array
        (
            [0] => 29
            [1] => 40
            [2] => 100cm
        )

    [2] => Array
        (
            [0] => 30
            [1] => 43
            [2] => 中
        )

    [3] => Array
        (
            [0] => 30
            [1] => 44
            [2] => 小
        )

    [4] => Array
        (
            [0] => 30
            [1] => 42
            [2] => 大
        )

    [5] => Array
        (
            [0] => 26
            [1] => 38
            [2] => green
        )

    [6] => Array
        (
            [0] => 26
            [1] => 39
            [2] => blue
        )

)

 

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/facetwitter/p/3659945.html

posted @ 2014-04-12 07:46  saneim  阅读(457)  评论(0编辑  收藏  举报