如何在PHP中创建数组,以便我的C#脚本将其作为数组接收?

如何在PHP中创建数组,以便我的C#脚本将其作为数组接收?,php,json,Php,Json,我正在对iOS收据进行服务器端验证 我想向客户发回2件东西: -the response code from Apple (an int) -all the product identifiers (possibly an array or object) 我的C#receiver类需要一个int(响应代码)和所有产品标识符,可能是数组或对象 数组中的问题是我必须事先定义元素的数量,这是我猜不到的 现在我有这个: $obj = (object) [ 'status' => $st

我正在对iOS收据进行服务器端验证

我想向客户发回2件东西:

-the response code from Apple (an int)
-all the product identifiers (possibly an array or object)
我的C#receiver类需要一个int(响应代码)和所有产品标识符,可能是数组或对象

数组中的问题是我必须事先定义元素的数量,这是我猜不到的

现在我有这个:

$obj = (object) [
    'status' => $status,
    'productIds' => ???????];

echo json_encode($obj);
我该怎么做呢?

你好

我不是php专家,所以如果代码看起来不太好,请原谅我

PHP部分:

<?php

$status = 0;
$productIDs = array();

//i dont know how you get the data.. so, loopy loop
for ($x = 1; $x <= 20; $x++)
{
    $productIDs[] = $x;
}

//genereate object and fill 
$obj = new stdClass;
$obj->status = $status;
$obj->productIDs = $productIDs;

//encode object to json and show it
echo json_encode($obj);

?>
现在只需获取JSON字符串并创建一个对象

var jsonSerializer = new JavaScriptSerializer();

//i guess you kinda download the response from your php into a string or stream somehow.. i skipped this step
string jsonString = @"{""status"":45,""productIDs"":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}";

myClass myObject = jsonSerializer.Deserialize<myClass>(jsonString);
var jsonSerializer=newJavaScriptSerializer();
//我想你应该把php中的响应下载到一个字符串或流中。。我跳过了这一步
字符串jsonString=@“{”“状态”“:45”“产品ID”“:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}”;
myClass myObject=jsonSerializer.Deserialize(jsonString);
像前面提到的其他人一样,您可以使用ProductID的列表。取决于您的代码、样式或。。无论什么就我个人而言,我更喜欢一份清单


希望我能提供帮助。

“数组中的问题是我必须事先定义元素的数量”-为什么?将其作为列表,而不是数组,这样就不必指定元素的最大数量。感谢您的回答。在C#中,我得到“数组创建必须具有数组大小或数组初始值设定项”,我是用PHP还是对象构建数组?旁注:在json#U编码之前将数组转换为对象是完全多余的。
var jsonSerializer = new JavaScriptSerializer();

//i guess you kinda download the response from your php into a string or stream somehow.. i skipped this step
string jsonString = @"{""status"":45,""productIDs"":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}";

myClass myObject = jsonSerializer.Deserialize<myClass>(jsonString);