访问PHP数组对象

时间:2016-01-14 07:10:02

标签: php

我有以下数组输出:

Array ( [0] => stdClass Object ( [name] => asdasd [email] => asdasdasd@asd.asd [message] => asdasd ) )

由以下代码给出:

if(isset($_POST['emailContent'])){
        $mail = new PHPMailer;
        $emailContent = $_POST['emailContent'];
        $emailContent = json_decode($emailContent);

        print_r($emailContent);
    }

我需要访问实际对象并从nameemailmessage获取信息。

我该怎么做?

我试过了

$name = $emailContent[name];
$name = $emailContent['name'];

但到目前为止没有运气。我有什么想法可能做错了吗?

6 个答案:

答案 0 :(得分:2)

尝试以下解决方案:

$name = $emailContent[0]->name;
$email = $emailContent[0]->email;
$message = $emailContent[0]->message;

答案 1 :(得分:1)

您的Object数组在第0个索引上有一个值,因此您需要通过将index指定为,来访问它, $emailContent[0]->name;获取名称值0是索引。类似于电子邮件和消息, $emailContent[0]->email; $emailContent[0]->message;

答案 2 :(得分:0)

如果你有var_dumped的数组是$ emailContent,你可以检索数据如下: -

$emailContent[0]->name
$emailContent[0]->email
$emailContent[0]->message

答案 3 :(得分:0)

请改为尝试:

{{1}}

答案 4 :(得分:0)

试试这个:

foreach( $emailContent as $index => $content )
    $name = $content[$index]->name;
    $email = $content[$index]->email; 
    echo 'Name: ' . $name .' | email: ' . $email.'<br>';
}

答案 5 :(得分:0)

您必须先从数组中获取对象,然后使用 - &gt;访问该名称。

试试这个$name = $emailContent[0]->name;