Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php对表中的API值进行排序_Php_Json_Api_Echo - Fatal编程技术网

使用php对表中的API值进行排序

使用php对表中的API值进行排序,php,json,api,echo,Php,Json,Api,Echo,我正试着做一些类似的事情。我计划通过使用position24值作为排序参数对来自API的结果进行排序。 到目前为止,我成功地提取了一个带有价格的有序列表,但我希望在表中显示来自其他对象(volume、mktcap等)的值。我是否需要对每个对象重复此功能 <php? function compare($a, $b) { return intval($a->position24) - intval($b->position24); } $json = file_get_

我正试着做一些类似的事情。我计划通过使用
position24
值作为排序参数对来自API的结果进行排序。 到目前为止,我成功地提取了一个带有价格的有序列表,但我希望在表中显示来自其他对象(volume、mktcap等)的值。我是否需要对每个对象重复此功能

<php? 
function compare($a, $b) {
    return intval($a->position24) - intval($b->position24);
}

$json = file_get_contents('http://www.coincap.io/front');
$data = json_decode($json);
usort($data, 'compare');
foreach ($data as $item) {
    echo $item->price . "\n"<;
}
?>
position24)-intval($b->position24);
}
$json=file\u get\u contents('http://www.coincap.io/front');
$data=json_decode($json);
usort($data,'compare');
foreach($数据作为$项){
echo$项目->价格。“\n”

usort
需要数组作为参数您的
$data
是对象可能您应该使用
json\u decode($json,true);

function compare($a, $b) {
    return intval($a['position24']) - intval($b['position24']);
}

usort
需要数组作为参数您的
$data
是对象可能您应该使用
json\u decode($json,true);

function compare($a, $b) {
    return intval($a['position24']) - intval($b['position24']);
}

您可以直接调用它。例如:

echo $item->volume;
echo $item->mktcap;
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Price</th>
            <th>Market Capitalization</th>
            <th>Volume</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($data as $row) { ?>
        <tr>
            <td><?= $row->long; ?></td>
            <td><?= $row->price; ?></td>
            <td><?= $row->mktcap; ?></td>
            <td><?= $row->volume; ?></td>
        </tr>
        <?php } ?>
    </tbody>
</table>
在如下所示的表格中:

echo $item->volume;
echo $item->mktcap;
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Price</th>
            <th>Market Capitalization</th>
            <th>Volume</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($data as $row) { ?>
        <tr>
            <td><?= $row->long; ?></td>
            <td><?= $row->price; ?></td>
            <td><?= $row->mktcap; ?></td>
            <td><?= $row->volume; ?></td>
        </tr>
        <?php } ?>
    </tbody>
</table>

名称
价格
市值
卷

您可以直接调用它。例如:

echo $item->volume;
echo $item->mktcap;
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Price</th>
            <th>Market Capitalization</th>
            <th>Volume</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($data as $row) { ?>
        <tr>
            <td><?= $row->long; ?></td>
            <td><?= $row->price; ?></td>
            <td><?= $row->mktcap; ?></td>
            <td><?= $row->volume; ?></td>
        </tr>
        <?php } ?>
    </tbody>
</table>
在如下所示的表格中:

echo $item->volume;
echo $item->mktcap;
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Price</th>
            <th>Market Capitalization</th>
            <th>Volume</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($data as $row) { ?>
        <tr>
            <td><?= $row->long; ?></td>
            <td><?= $row->price; ?></td>
            <td><?= $row->mktcap; ?></td>
            <td><?= $row->volume; ?></td>
        </tr>
        <?php } ?>
    </tbody>
</table>

名称
价格
市值
卷

谢谢你,真的。工作起来很有魅力。还有一件事:有没有可能让一个值(例如:price)只显示2位小数?我试过“数字格式((float)2)”,“”),但那不起作用。这是可能的。但是PHP不像Java,所以你应该使用不同的函数来转换变量。因此,要做到这一点,你应该使用
number_格式(floatval($price),2,'.','')
。谢谢你,真的。工作起来很有魅力。还有一件事:有可能生成值(例如:price)吗只显示2个小数?我尝试了“数字格式((float)2,”,“,”),但没有成功。这是可能的。但是PHP不像Java,所以你应该使用不同的函数来转换变量。因此,你应该使用
数字格式(floatval($price),2,”,“)