Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过webservice获取数组时php中未定义的偏移量_Php_Arrays_Web Services_Ionic Framework - Fatal编程技术网

通过webservice获取数组时php中未定义的偏移量

通过webservice获取数组时php中未定义的偏移量,php,arrays,web-services,ionic-framework,Php,Arrays,Web Services,Ionic Framework,在Ionic中构建应用程序,在PHP中构建webservices。我的问题是我在点击api时从应用程序中获取了一个对象 [option] => stdClass Object ( [228] => 19 [229] => 22 [230] => 24 [231] => 26 ) 在php中,我使用以下代码将此对象转换为数组 $option

在Ionic中构建应用程序,在PHP中构建webservices。我的问题是我在点击api时从应用程序中获取了一个对象

[option] => stdClass Object
        (
            [228] => 19
            [229] => 22
            [230] => 24
            [231] => 26
        )
php中,我使用以下代码将此对象转换为数组

$option = (array)$this->request->post['option'];
然后我检查它的类型,它是一个数组。但是当我试图获取
$option[228]
的值时,它会返回一个错误“Undefined Offset:228”。问题可能是它正在查找索引值228,而不是匹配关联键值


如何使用这些数字键获取值???

您可以使用
array\u values($option)
重置键

[
  0 => 29
  1 => 22
  2 => 24
  3 => 26
]
或者像这样使用对象:


$option->{228}

另一种解决方法是,您可以准备数组,然后访问它的键->值对(如果您也需要它的键),如下所示

$option = array_combine(array_keys((array)$option), array_values((array)$option));

然后您可以访问它的元素,如$option[228]

var_dump($option)
以查看变量中的内容;注意:第578行file.php中未定义的偏移量:228不工作。。。不知道为什么我不能重置键,因为我还需要它们来与数据库记录匹配…是否有其他选项将此对象用作关联数组?您可以将JSON结构更改为:
[{id:228,value:29},…]