相关疑难解决方法(0)

将PHP对象转换为关联数组

我正在将API集成到我的网站,该网站使用存储在对象中的数据,而我的代码是使用数组编写的.

我想要一个快速而又脏的函数将对象转换为数组.

php arrays

714
推荐指数
18
解决办法
105万
查看次数

将stdObject转换为数组 - 调用函数

我有这个类的问题,特别是最后2个函数callApi($query)objectToArray($d).这些目标是从Amazon API返回的对象返回一个数组.

我认为问题在于从另一个函数调用一个函数:

$arrayResponse=$this->objectToArray($response);
Run Code Online (Sandbox Code Playgroud)

即使我在var_dump时这样做,我$arrayResponse仍然将它作为一个对象,并且不能执行特定于数组的操作(呃!;)).我objectToArray()这个网站亚马逊图书馆找到了.

当我单独测试它时它工作正常但在将它放入项目后我仍然得到了对象.

是我只是以错误的方式调用函数,所以它不转换它?

先感谢您,

亚当

class Amazon extends Source implements ICallsApi{
    function __construct(){
        $this->impact = 55;
        $this->side = "supply";
        echo "<p>I am Amazon</p>";
        echo "<p>and my impact = ". $this->impact."</p>";

    }

    private function FormulateQuery($query){
                echo "Formulate query for Amazon API and return it";
    }

    //Returns the array records from amazon of a given keyword      
    public function callApi($query)
            {
            $client = new AmazonECS('dataRemoved', 'dataRemoved', 'co.uk', …
Run Code Online (Sandbox Code Playgroud)

php oop object amazon-web-services web

4
推荐指数
1
解决办法
2459
查看次数

PHP - 如何投射多维对象?

我想知道PHP 中是否有多维对象转换为数组的内置方法?

问题是在对象上应用常规铸造时,只有第一个维度受到影响,所有其他维度都提醒相同。

注意:我铸造感兴趣!

例子:

$a = new stdClass();
$a->b = 'qwe';
$a->c = new stdClass();
$a->c->d = 'asd';

var_dump((array)$a); // echoes:

array(2) {
  ["b"]=>
  string(3) "qwe"
  ["c"]=>
  object(stdClass)#2 (1) {
    ["d"]=>
    string(3) "asd"
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,只有第一维受到影响,那么如何投射多维对象呢?

php arrays casting object multidimensional-array

-1
推荐指数
1
解决办法
4338
查看次数