Php foreach echo(if / else)

时间:2017-06-17 23:31:00

标签: php json api if-statement foreach

正确输入时会在屏幕上打印,但输入不正确时我不想做任何事情

我该怎么做?

<?php
header('Content-type: text/html; charset=utf8');

$api_key = 'local';
$keyword = 'test';

$url = 'test.json' . $api_key . '&' .'keyword' .'=' . $GLOBALS['q'] ;

$open = file_get_contents($url);
$data = json_decode($open, true);

$istatistikler = $data['data'];
if ($data) {
foreach ( $istatistikler as $istatistik ){

    echo '<div class="right">';
    echo 'Oyun modu: ' . $istatistik['title'] . '<br />' .
    'Kazanma: ' . $istatistik['content'] . '<br />' .
    'Kazanma: ' . $istatistik['image'] . '<br />' .
    'Kazanma: ' . $istatistik['category'] . '<br />' .
    '<br />' .
    '<hr/>';
 $karakter_simge = 'http://google.com' . $istatistik['image'] . '';
 echo "<img src=".$karakter_simge." >" ;
 echo '</div>';
 }
  }
?>

Successful output

输出失败

  

警告:   的file_get_contents(http://localhost/api/detail?X-Api-Key=local&keyword=a):   无法打开流:HTTP请求失败! HTTP / 1.1 406不是   可在/opt/lampp/htdocs/weather-master/php/php-api.php上在线接受   10

&#34;我不想打印失败&#34;

谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

这可能会有所帮助:

$open = @file_get_contents($url);
函数名称(在通话中)之前的

@符号可以防止显示任何警告(但这是一种不好的做法)。

祝你好运!

答案 1 :(得分:0)

更改

$open = file_get_contents($url);

$open = @file_get_contents($url);
if ($open === false)
    die("wrong");

@会抑制错误消息。使用die()将使用给定的消息完全中止脚本。

或者,将条件更改为!== false并将其余部分包装成成功的&#34;代码在其正文中:

$open = @file_get_contents($url);
if ($open !== false)
{
    $data = json_decode...
    ...
    ...
}

我想我在这里略微超过了目标,但是如果没有数据就不会遇到无法正常工作的代码。