相关疑难解决方法(0)

将PHP对象转换为关联数组

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

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

php arrays

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

如何将对象转换为数组?

<?php
   print_r($response->response->docs);
?>
Run Code Online (Sandbox Code Playgroud)

输出以下内容:

    Array 
(
    [0] => Object 
            (
                [_fields:private] => Array 
                                    (
                                        [id]=>9093 
                                        [name]=>zahir
                                    ) 
            Object 
            ( 
                [_fields:private] => Array 
                                    (
                                        [id]=>9094 
                                        [name]=>hussain
                                    )..
            )
)
Run Code Online (Sandbox Code Playgroud)

如何将此对象转换为数组?我想输出以下内容:

Array
(
    [0]=>
    (
        [id]=>9093 
        [name]=>zahir
    ) 
    [1]=>
    (
        [id]=>9094 
        [name]=>hussain
    )...
)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

php

202
推荐指数
6
解决办法
47万
查看次数

如何使用stdClass()将数组转换为对象

我做了以下数组:

$clasa = array(
        'e1' => array('nume' => 'Nitu', 'prenume' => 'Andrei', 'sex' => 'm', 'varsta' => 23),
        'e2' => array('nume' => 'Nae', 'prenume' => 'Ionel', 'sex' => 'm', 'varsta' => 27),
        'e3' => array('nume' => 'Noman', 'prenume' => 'Alice', 'sex' => 'f', 'varsta' => 22),
        'e4' => array('nume' => 'Geangos', 'prenume' => 'Bogdan', 'sex' => 'm', 'varsta' => 23),
        'e5' => array('nume' => 'Vasile', 'prenume' => 'Mihai', 'sex' => 'm', 'varsta' => 25)
);
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用stdClass()将这个数组转换为一个对象,我是一个PHP初学者,一个简单的例子会非常有帮助,我试过寻找类似的问题,但答案很复杂,超越了我对基本类和对象的理解.

php arrays stdclass

99
推荐指数
5
解决办法
15万
查看次数

为用户定义的对象键入转换

就像我们使用__ToString一样,有没有办法定义一个方法来进行投射?

$obj = (MyClass) $another_class_obj;
Run Code Online (Sandbox Code Playgroud)

php casting

51
推荐指数
4
解决办法
6万
查看次数

PHP - 关联数组作为对象

可能重复:
将数组转换为对象PHP

我正在创建一个简单的PHP应用程序,我想使用YAML文件作为数据存储.我将获取数据作为关联数组,例如:

$user = array('username' => 'martin', 'md5password' => '5d41402abc4b2a76b9719d911017c592')
Run Code Online (Sandbox Code Playgroud)

但是,我想用一些函数扩展关联数组并使用->运算符,所以我可以写这样的东西:

$user->username = 'martin';  // sets $user['username']
$user->setPassword('hello'); // writes md5 of 'hello' to $user['md5password']
$user->save();               // saves the data back to the file
Run Code Online (Sandbox Code Playgroud)

没有类定义,有没有一种好方法可以做到这一点?

基本上,我想在PHP中拥有JavaScript样式对象:)

php yaml associative-array class object

13
推荐指数
2
解决办法
3万
查看次数

PHP数组 - 试图获取非对象的属性

我还是PHP新手所以请耐心等待.

所以我收到此错误:注意:尝试在此行上获取非对象的属性:

echo (
            "<tr>".
            "<td>".$row->last_name.     "</td>".
            "<td>".$row->first_name.    "</td>".
            "<td>".$row->phone_no.      "</td>".
            "<td>".$row->date_of_birth. "</td>".
            "<td>".$row->membership.    "</td>".
            "</tr></table>");
Run Code Online (Sandbox Code Playgroud)

我在我的函数上使用了print_r,得到了:

Array
(
    [0] => Array
    (
        [0] => Lee
        [last_name] => Lee
        [1] => Lian
        [first_name] => Lian
        [2] => 39025823
        [phone_no] => 39025823
        [3] => 1967-09-19
        [date_of_birth] => 1967-09-19
        [4] => T
        [membership] => T
        [5] =>
        [status] =>
        [6] => 0
        [room_no] => 0
    )
)
Run Code Online (Sandbox Code Playgroud)

所以数组中有元素.

实际代码属于:

foreach($array as $row)
    {
            echo (
            "<tr>".
            "<td>".$row->last_name.     "</td>".
            "<td>".$row->first_name.    "</td>".
            "<td>".$row->phone_no.      "</td>". …
Run Code Online (Sandbox Code Playgroud)

html php arrays

7
推荐指数
3
解决办法
3万
查看次数

将PHP数组转换为用户对象?

我有一个数组,我从其他来源检索.然后需要将此数组转换为我创建的自定义类.

我不能使用stdObject的原因是因为我的类有一个自定义__get以及一些方便的方法.

我基本上需要这样的东西:

$obj = (MyClass) $array;
Run Code Online (Sandbox Code Playgroud)

这看起来不可能,它会导致语法错误.

php casting object

3
推荐指数
1
解决办法
1028
查看次数

如何在PHP中更改数组结构

我有一个以下形式的数组,

Array
(
    [0] => Array
        (
            [emailAddress] => abc@gmail.com
            [subject] => Hi
            [content] => How are you?
            [attachment] => QmFzZTY0IGlzIGFuIGVuY29kaW5nIHNjaGVtZSB1c2VkIHRvIHJlcHJlc2VudCBiaW5hcnkgZGF0YSBpbiBhbiBBU0NJSSBmb3JtYXQuIA==
            [fileName] => Base 64 Encoder
        )
)
Run Code Online (Sandbox Code Playgroud)

我怎么能在下面的表格中得到它:

Array
(
    [emailAddress] => abc@gmail.com
    [subject] => Hi
    [content] => How are you?
    [attachments] => Array
        (
            [attachment] => QmFzZTY0IGlzIGFuIGVuY29kaW5nIHNjaGVtZSB1c2VkIHRvIHJlcHJlc2VudCBiaW5hcnkgZGF0YSBpbiBhbiBBU0NJSSBmb3JtYXQu
            [fileName] => Base 64 Encoder
        )

)
Run Code Online (Sandbox Code Playgroud)

有没有办法将类型转换[attachments] => Array[attachments] => Object?如下:

Array
(
    [emailAddress] => abc@gmail.com
    [subject] => Hi
    [content] => How are you?
    [attachments] => …
Run Code Online (Sandbox Code Playgroud)

php arrays object

3
推荐指数
1
解决办法
220
查看次数

数组中的值错误

我从数组中得到了错误的值.

$json = file_get_contents('http://onleague.stormrise.pt:8031/OnLeagueRest/resources/onleague/Utils/Countries');
$data = json_decode($json, TRUE);
$countries = array(); 
foreach($data['data'] as $item) {
    $countries[] = $item['description'];
}
print_r($countries);
Run Code Online (Sandbox Code Playgroud)

结果是:

Array ( [0] => g [1] => )
Run Code Online (Sandbox Code Playgroud)

php arrays json web-services

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

将数组转换为 PHP 中的对象

所以我读了它以将数组转换为对象,我可以简单地(object)在变量前使用$my_obj = (object) $my_array. 话虽如此,为什么在执行下面的代码时会出现以下错误。

注意试图在第 26 行获取非对象的属性

我不应该能够通过使用访问对象的属性$car->make吗?

<?php
$cars = array(
    array(
        'make' => 'Audi',
        'model' => 'A4',
        'year' => '2014',
    ),
    array(
        'make' => 'Benz',
        'model' => 'c300',
        'year' => '2015',
    ),
    array(
        'make' => 'BMW',
        'model' => 'i8',
        'year' => '2016',
    ),
);

// Convert $cars array to object
$cars = (object) $cars;

foreach ($cars as $car) {
    // Shouldn't I be able to access my object

    print $car->make …
Run Code Online (Sandbox Code Playgroud)

php arrays object

0
推荐指数
1
解决办法
6134
查看次数

标签 统计

php ×10

arrays ×6

object ×4

casting ×2

associative-array ×1

class ×1

html ×1

json ×1

stdclass ×1

web-services ×1

yaml ×1