繁体   English   中英

php foreach 从数组中获取值

[英]php foreach getting values from an array

我在访问数组中的值时遇到问题,数组看起来像这样,

Array
(
    [0] => Array
        (
            [id] => 1661
            [code] => 849651318
            [job_status] => 4
            [looking_for] => Lorem ipsum
            [keywords_education] => Derby University
            [sector_id_csv] => 10,21,9,22,26
            [last_job_title_1] => Programmer
            [last_job_employer_1] => HBOS
            [city] => Bury
            [expected_salary_level] => LEVEL_2
            [education_level] => COLLEGE
            [job_looking_for] => 
            [is_contract] => Y
            [is_permanent] => N
            [is_temporary] => Y
        )

)
Array
(
    [0] => Array
        (
            [id] => 402
            [code] => 849650059
            [job_status] => 3
            [looking_for] => Lorem ipsum
            [keywords_education] => Paris College
            [sector_id_csv] => 27,22,19,21,12
            [last_job_title_1] => Programmer
            [last_job_employer_1] => HSBC
            [city] => Bury
            [expected_salary_level] => LEVEL_2
            [education_level] => COLLEGE
            [job_looking_for] => 
            [is_contract] => N
            [is_permanent] => Y
            [is_temporary] => Y
        )

)
Array
(
    [0] => Array
        (
            [id] => 1653
            [code] => 849651310
            [job_status] => 3
            [looking_for] => Lorem ipsum
            [keywords_education] => Crewe University
            [sector_id_csv] => 27,15,19,21,24
            [last_job_title_1] => Programmer
            [last_job_employer_1] => ICI
            [city] => Bury
            [expected_salary_level] => LEVEL_2
            [education_level] => UNIVERSITY
            [job_looking_for] => 
            [is_contract] => N
            [is_permanent] => Y
            [is_temporary] => Y
        )

)

我正在尝试获取这些值,我尝试执行以下操作,

foreach ($result as $rslt) {
    echo $rslt->id;
}

我也试过,

foreach ($result as $rslt) {
    $rslt['id'];
}

但是这些都不起作用,我不知道为什么,有人可以帮忙吗?

在第一个示例中,指出一些事情并希望澄清任何混淆:

foreach ($result as $rslt) {
    echo $rslt->id;
}

箭头运算符( -> )被滥用。 它通常用于在类对象上调用方法,在这种情况下, $rslt是类对象,而id是方法,情况并非如此。

在第二个示例中

foreach ($result as $rslt) {
    $rslt['id'];
}

您几乎砸中了钉子,但忘记了调用echoprint来将值输出到屏幕上。

另外,您的$result数组在索引0处有一个子数组,因此需要进行更改

$rslt['id'];

以及echoprint语句。

echo $rslt[0]['id'];

第二个是正确的,但是您缺少echoprint

echo $rslt['id'];

根据示例代码,您不清楚$result是什么。
如果$result包含所有列出的数组,则必须执行

foreach($result as $rslt) {
    echo $rslt[0]['id'];
}

进一步参考:

我确信有人会在接下来的0.3秒内发布答案,因此我将尝试通过您的方法来帮助您。 显然,您知道如何使用print_r(或var_dump)。 您是否尝试过在数组中的$ rslt上使用它? 您似乎很难理解$ rslt是什么。

foreach($result as $rslt) {
    echo $rslt[0]['id'];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM