wewe22 发表于 2015-1-12 08:54:09

php关联数组和索引数组差别

没有查到明确的php中定义关联数组/索引数组的解析,根据phpdocument及百度的一些资料和实际的代码测试,对关联数组/索引数据进行定义解析。这个问题主要在和手机端ios app产品提供api时遇到,用关联数组转换为json能更好的用oc解析转换为数组。

    关联数组:没有明确的索引键,默认从0开始作为索引键。
    $temp_arr = array (
   '已经在别处买到',
   '商品不符合需求',
    '价格太高',
    '不想买了',
    '卖家没有交易记录',
   '其他原因',
    );
    $temp_arr = '已经在别处买到';
    $temp_arr = '商品不符合需求';
    按print_f()打印数组:
    Array ( => 已经在别处买到 => 商品不符合需求 => 价格太高 => 不想买了 => 卖家没有交易记录 => 其他原因 )
    转换为json输出:
    ["\u5df2\u7ecf\u5728\u522b\u5904\u4e70\u5230","\u5546\u54c1\u4e0d\u7b26\u5408\u9700\u6c42","\u4ef7\u683c\u592a\u9ad8","\u4e0d\u60f3\u4e70\u4e86","\u5356\u5bb6\u6ca1\u6709\u4ea4\u6613\u8bb0\u5f55","\u5176\u4ed6\u539f\u56e0"]

    索引数组:有明确的索引键,形成键值对关系。

    $temp_arr = array (
    '1' => '已经在别处买到',
    '2' => '商品不符合需求',
    '3' => '价格太高',
    '4' => '不想买了',
    '5' => '卖家没有交易记录',
    '6' => '其他原因',
    );
    按print_f()打印数组:
    Array ( => 已经在别处买到 => 商品不符合需求 => 价格太高 => 不想买了 => 卖家没有交易记录 => 其他原因 )
    转换为json输出:
    {"1":"\u5df2\u7ecf\u5728\u522b\u5904\u4e70\u5230","2":"\u5546\u54c1\u4e0d\u7b26\u5408\u9700\u6c42","3":"\u4ef7\u683c\u592a\u9ad8","4":"\u4e0d\u60f3\u4e70\u4e86","5":"\u5356\u5bb6\u6ca1\u6709\u4ea4\u6613\u8bb0\u5f55","6":"\u5176\u4ed6\u539f\u56e0"}

页: [1]
查看完整版本: php关联数组和索引数组差别