如何将多维数组发布到PHP

时间:2015-09-27 23:43:34

标签: php ios arrays

我有一组字典数组。 例 MainArray   SubArray1      Dict 1      词典2   SubArray2      Dict 1      Dict 2

以下是使用字符串输出发送NSMutableUrlRequest之前的代码。

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:itemListArray
                                                   options:kNilOptions error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

然后转到

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];

接下来是NSUrlConnection。

jsonstring输出是 [[{"说明":"项目1"},{"说明":"项目2"}],[{"说明与#34;:" SItem1"},{"说明":" SItem2"}]]

我的PHP代码非常简单,并返回如上所述的jsonstring。

$data1 = $_POST["jsonstring"];
var_dump($data1);

我现在的问题是我不知道如何分离阵列。我是否必须设置一些字符串格式来分隔数据? 例如,在每组括号[]之间拉取所有数据。然后在所有""?之间进一步分开数据

是否有更简单的方式发布多维字典数组?

1 个答案:

答案 0 :(得分:1)

$data1 = '[[{"Description":"Item1"},{"Description":"Item2"}],[{"Description":"SItem1"},{"Description":"SItem2"}]]';

var_dump(json_decode($data1, true));

或没有true作为第二个参数来允许对象而不是将它们转换为数组

var_dump(json_decode($data1));

输出:

array(2) {
  [0]=>
  array(2) {
    [0]=>
    array(1) {
      ["Description"]=>
      string(5) "Item1"
    }
    [1]=>
    array(1) {
      ["Description"]=>
      string(5) "Item2"
    }
  }
  [1]=>
  array(2) {
    [0]=>
    array(1) {
      ["Description"]=>
      string(6) "SItem1"
    }
    [1]=>
    array(1) {
      ["Description"]=>
      string(6) "SItem2"
    }
  }
}