sea*_*987 0 php arrays foreach loops multidimensional-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
)
)
Run Code Online (Sandbox Code Playgroud)
我试图获得价值,我尝试过以下,
foreach ($result as $rslt) {
echo $rslt->id;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过,
foreach ($result as $rslt) {
$rslt['id'];
}
Run Code Online (Sandbox Code Playgroud)
但这一切都不起作用,我不知道为什么,任何人都可以帮忙吗?
在你的第一个例子中指出一些事情并希望澄清任何困惑:
foreach ($result as $rslt) {
echo $rslt->id;
}
Run Code Online (Sandbox Code Playgroud)
箭头操作符(->)被滥用.它通常用于在类对象上调用方法,在您的情况下,$rslt它将是一个类对象,并且id将是一个方法,但事实并非如此.
在你的第二个例子中,
foreach ($result as $rslt) {
$rslt['id'];
}
Run Code Online (Sandbox Code Playgroud)
你几乎撞到了头上的钉子,但你忘了打电话echo或print将值输出到屏幕上.
此外,您$result的数组在索引处有一个子数组0,因此需要更改
$rslt['id'];
Run Code Online (Sandbox Code Playgroud)
与... echo或print声明一起.
echo $rslt[0]['id'];
Run Code Online (Sandbox Code Playgroud)