xq8995209 发表于 2018-12-24 09:58:59

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关联数组和索引数组差别