嵌套数组上的PHP foreach
我正在对URL执行GET php函数,并以JSON返回结果响应:嵌套数组上的PHP foreach,php,arrays,foreach,Php,Arrays,Foreach,我正在对URL执行GET php函数,并以JSON返回结果响应: { "results": [{ "text": "The 2014 BICSI Canadian Conference and Exhibition in Vancouver, British Columbia, Canada is 61 days away on April 27 - 30.", "createdAt": "2014-02- 24T19:54:08.707Z",
{
"results": [{
"text": "The 2014 BICSI Canadian Conference and Exhibition in Vancouver, British Columbia, Canada is 61 days away on April 27 - 30.",
"createdAt": "2014-02- 24T19:54:08.707Z",
"updatedAt": "2014-02-24T19:54:08.707Z",
"objectId": "ZZrZ9OgyRG"
}, {
"text": "Only 33 more days fro the 2014 BICSI Canadian Conference and Exhibition in Vancouver, Canada!",
"createdAt": "2014-03-24T13:23:56.240Z",
"updatedAt": "2014-03-24T13:23:56.240Z",
"objectId": "ZqxJRiHoJo"
}]
}
我能够进行phpjson\u解码
,并在如下网页上显示以下结果
text | The 2014 BICSI Canadian Conference and Exhibition in Vancouver, British Columbia, Canada is 61 days away on April 27 - 30.
createdAt | 2014-02-24T19:54:08.707Z
updatedAt | 2014-02-24T19:54:08.707Z
objectId | ZZrZ9OgyRG
text | Only 33 more days fro the 2014 BICSI Canadian Conference and Exhibition in Vancouver, Canada!
createdAt | 2014-03-24T13:23:56.240Z
updatedAt | 2014-03-24T13:23:56.240Z
objectId | ZqxJRiHoJo
我用于在网页上显示上述结果的php代码是:
$returned_content = get_data('https://api.parse.com/1/classes/Alerts');
$data = json_decode($returned_content, true);
foreach ($data as $array1 => $arrayn) {
foreach ($arrayn as $k => $v) {
foreach ($v as $t => $s) {
echo"<p> $t | $s ";
}
}
}
text | The 2014 BICSI Canadian Conference and Exhibition in Vancouver, British Columbia, Canada is 61 days away on April 27 – 30.
text | Only 33 more days fro the 2014 BICSI Canadian Conference and Exhibition in Vancouver, Canada!
将其包装在一个简单的if条件中
foreach ($data as $array1 => $arrayn) {
foreach($arrayn as $k => $v) {
foreach ($v as $t => $s) {
if($t == 'text') {
echo"<p> $t | $s ";
}
}
}
}
foreach($array1=>$arrayn){
foreach($arrayn为$k=>$v){
foreach($v为$t=>$s){
如果($t=='text'){
回声“$t|$s”;
}
}
}
}
你喜欢这样吗
$returned_content = get_data('https://api.parse.com/1/classes/Alerts');
$data = json_decode($returned_content, true);
foreach ($data as $array1 => $arrayn) {
foreach($arrayn as $k => $v){
foreach ($v as $t => $s)
{
if($t == "text")
echo"<p> $t | $s ";
}
}
}
$returned\u content=get\u data('https://api.parse.com/1/classes/Alerts');
$data=json\u decode($returned\u content,true);
foreach($array1=>$arrayn的数据){
foreach($arrayn为$k=>$v){
foreach($v为$t=>$s)
{
如果($t==“文本”)
回声“$t|$s”;
}
}
}
在这一行之后:
$data = json_decode($returned_content, true);
您有一个关联数组,因此可以将循环更改为:
foreach ($data as $array1 => $arrayn) {
foreach($arrayn as $k => $v) {
foreach ($v as $t => $s) {
if('text' === $t) {
echo"<p> $t | $s ";
}
}
}
}
foreach($array1=>$arrayn){
foreach($arrayn为$k=>$v){
foreach($v为$t=>$s){
如果('text'==$t){
回声“$t|$s”;
}
}
}
}
$data=json\u decode($json);
foreach($data->结果为$item){
回显“
text |”。$item->text;
}
如果不添加第二个json\u decode()
paremeter,您可以将json与StdClass一起使用。简单一点,并检查密钥是否存在,以防json不包含密钥“text”,它将返回通知
$data = json_decode($str,true);
foreach($data["results"] as $key=>$val){
if(array_key_exists("text",$val)){
echo 'text | '.$val["text"];
echo '<br />';
}
}
$data=json\u解码($str,true);
foreach($data[“results”]作为$key=>$val){
如果(数组\键\存在(“文本”,$val)){
回显“文本”.$val[“文本”];
回声“
”;
}
}
这里$str
是您的json字符串。请正确设置您的问题的格式我想我做了。。。很抱歉。
$data = json_decode($str,true);
foreach($data["results"] as $key=>$val){
if(array_key_exists("text",$val)){
echo 'text | '.$val["text"];
echo '<br />';
}
}