如何在HTML页面中返回值?

时间:2015-12-10 09:09:09

标签: php html arrays laravel

我一直在寻找与我的问题相关的其他问题,但似乎没有一个与我的确切情况相符。我正在做一些关于网页的一些数据的TopTen排名 - 比如什么是最多的IP访问你的页面,什么时候是最后一次访问,多少字节......所有这些:)

现在我已经写了一个代码,它给了我回页的最多10个访问者的所有字节..我想把这个结果返回到我的html页面 - 这有效,但输出不是我真正想要的< / p>

这是我的代码:

 EpcName = "Want to pass this String to other workbook" ' Me.ComboBox2.Text

 If Not m_theOtherWorkbook Is Nothing Then _
    m_theOtherWorkbook.EpcName = EpcName

现在我将其返回到我的html页面..

$ mb_bytes的输出是:

$mb_bytes = array();
foreach ($topTenIp as $val) {
    $bytes_ips[$val] = shell_exec("grep $val /path/file.log | awk '{print $10}'");
    $add = array_sum(explode("\n", $bytes_ips[$val]));
    $add = $add / 1024 / 1024;
    $add = round($add, 2);
    array_push($mb_bytes, $add);
}
if($mb_bytes)
    arsort($mb_bytes);

但我不希望我的html中的输出连续写入..我希望它像:

Array ( [0] => 1.56 [5] => 0.61 [4] => 0.24 [1] => 0.16 [3] => 0.13 [2] => 0.08 [9] => 0.01 [6] => 0.01 [7] => 0.01 [8] => 0 )

有谁知道解决方案?我的HTML中的部分如下所示:

1.56
0.61
0.24
0.16
....

但我认为HTML中的foreach也会遇到一些问题..(我正在使用LARAVEL框架

谢谢:)

编辑:现在看起来像这样!

            <tr>
                <th> Top 10</th>
                <th> Bytes</th>
                <th> Date </th>
            </tr>
            @foreach($topTenIp as $ip[$i])
                <tr>
                    <th>{{ $ip[$i] }}</th>
                    <th> here should be the $mb_byte variable </th>
                </tr>
            @endforeach

但它看起来应该是这样的:

IP 1.56 0.61 0.24 0.16 0.13 0.08 0.01 0.01 0.01 0
IP 1.56 0.61 0.24 0.16 0.13 0.08 0.01 0.01 0.01 0
IP 1.56 0.61 0.24 0.16 0.13 0.08 0.01 0.01 0.01 0
.......

新编辑:

我的代码:

IP 1.56 
IP 0.61 
IP 0.24 
IP 0.16
IP 0.13
IP 0.08
IP 0.01
IP 0.01
IP 0.01
IP 0

HTML:

 $mb_bytes = array();
        foreach ($topTenIp as $val) {
            $bytes_ips[$val] = shell_exec("grep $val /path/file | awk '{print $10}'");
            $add = array_sum(explode("\n", $bytes_ips[$val]));
            $add = $add / 1024 / 1024;
            $add = round($add, 2);
            array_push($mb_bytes, $add);
        }
        if($mb_bytes)
            arsort($mb_bytes);

        $resultArr = array();
        foreach($topTenIp as $ip){
            $byte = array_shift($mb_byte);
            $resultArr = array('id' => $ip, 'byte' => $byte);
        }

错误消息:array_shift()期望参数1为数组,给定

为null

2 个答案:

答案 0 :(得分:0)

您可以尝试首先在控制器中预处理您的两个$mb_byte$resultArr个变量将它们组合在一个单独的数组中'ip'为每个项目保留'byte'和{{ 1}}然后在$ resultArr数组上循环,就像这样

@foreach($resultArr as $item)
   <tr>
      <td> {{ $item['ip'] }} </td>
      <td> {{ $item['byte'] }} </td>
   </tr>
@endforeach

你会得到像这样的输出

IP 1.56
IP 0.61
...

<强>更新

你可以将你的2个变量与简单的php逻辑结合起来

重要如果您count($topTenIp) == count($mb_byte)那么您可以将它们组合起来

$resultArr = array();
foreach($topTenIp as $ip){
   $byte = array_shift($mb_byte);
   $resultArr = array('id' => $ip, 'byte' => $byte);
}

然后传递并在模板中使用$ resultArr

答案 1 :(得分:0)

尝试将值赋给变量而不是数组条目。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="side-menu" class="sidebar-nav span2">
  <div class="sidebar-link"><span>Link 1</span></div>
  <div class="sidebar-link"><span>Link 2</span></div>
</div>