使用PHP从字符串中提取数据

使用PHP从字符串中提取数据,php,extract,Php,Extract,我有一个包含一些数据的URL。我需要单独提取它的数据。我成功地做到了这一点,但问题是URL不断更改其数据顺序,使我的代码毫无用处。请帮帮我 这是我的密码: <?php $html = file_get_contents("https://stats.vatsim.net/user_count_json.php"); $res = explode(",", "$html"); $res1 = explode(":", "$res[1]"); $res2 = explode(":", "$re

我有一个包含一些数据的URL。我需要单独提取它的数据。我成功地做到了这一点,但问题是URL不断更改其数据顺序,使我的代码毫无用处。请帮帮我

这是我的密码:

<?php
$html = file_get_contents("https://stats.vatsim.net/user_count_json.php");
$res = explode(",", "$html");
$res1 = explode(":", "$res[1]");
$res2 = explode(":", "$res[2]");
$res3 = explode(":", "$res[3]");
$res4 = explode(":", "$res[4]");
$res5 = explode(":", "$res[5]");
$res6 = explode(":", "$res[6]");
$pilots = explode( '""', trim( $res1[1], '"'));
$controllers = explode( '""', trim( $res2[1], '"'));
$atis = explode( '""', trim( $res3[1], '"'));
$observers = explode( '""', trim( $res4[1], '"'));
$total = explode( '""', trim( $res5[1], '"'));
$supervisors = explode( '""', trim( $res6[1], '"'));
?>
<h3 style="margin-left: 80px; margin-top: 75px;">Vatsim online users</h3>

<div id="vs" style="border: solid 3px; padding: 25px; border-radius: 5px;"    class="container">
<ul class="blocklist">
    <li>Pilots : <?php echo $pilots[0];?></li>
    <li>Controllers : <?php echo $controllers[0];?></li>
    <li>Atis : <?php echo $atis[0];?></li>
    <li>Observers : <?php echo $observers[0];?></li>
    <li>Supervisors : <?php echo $supervisors[0];?></li>
    <li>Total : <?php echo $total[0];?></li>        

</ul>
</div>

谢谢

首先,从理解什么是json开始

其次,由于json是一种流行的数据格式,所有语言都支持它。在php中,它是和函数以及

你的情况是:

$html = file_get_contents("https://stats.vatsim.net/user_count_json.php");
$array = json_decode($html, true);
print_r($array);
var_dump($array['observers']);   // value of observers field.

您试图从中获取数据的字符串是字符串。可以使用函数将其转换为PHP变量

$json = file_get_contents("https://stats.vatsim.net/user_count_json.php");
$data = json_decode($json, true); //The true parameter will convert the return value into an associative array

//Access Data
$pilots = $data['pilots'];
$controllers = $data['controllers'];
//...etc...

json_decode有什么问题吗?学习如何使用jsonUse json_decode,并问问自己为什么要将数组放在双引号内。@CBroe那么,如果他们不想让我使用数据,他们为什么要发布数据?@kainaw:这叫cargo cult programming。