当前位置: 代码迷 >> PHP >> $line[一] = intval($line[1]); //这个这样写是什么意思
  详细解决方案

$line[一] = intval($line[1]); //这个这样写是什么意思

热度:282   发布时间:2016-04-28 20:16:20.0
$line[1] = intval($line[1]); //这个这样写是什么意思?
<?php
  //create short variable name
  $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
?>
<html>
<head>
  <title>Bob's Auto Parts - Customer Orders</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Customer Orders</h2>
<?php
  //Read in the entire file.
  //Each order becomes an element in the array
  $orders= file("$DOCUMENT_ROOT/../orders/orders.txt");

  // count the number of orders in the array
  $number_of_orders = count($orders);

  if ($number_of_orders == 0) {
    echo "<p><strong>No orders pending.
          Please try again later.</strong></p>";
  }

  echo "<table border=\"1\">\n";
  echo "<tr><th bgcolor=\"#CCCCFF\">Order Date</th>
            <th bgcolor=\"#CCCCFF\">Tires</th>
            <th bgcolor=\"#CCCCFF\">Oil</th>
            <th bgcolor=\"#CCCCFF\">Spark Plugs</th>
            <th bgcolor=\"#CCCCFF\">Total</th>
            <th bgcolor=\"#CCCCFF\">Address</th>
         <tr>";

  for ($i=0; $i<$number_of_orders; $i++) {
    //split up each line
    $line = explode("\t", $orders[$i]);

    // keep only the number of items ordered
    $line[1] = intval($line[1]); 
    $line[2] = intval($line[2]);
    $line[3] = intval($line[3]);

    // output each order
    echo "<tr>
             <td>".$line[0]."</td>
             <td align=\"right\">".$line[1]."</td>
             <td align=\"right\">".$line[2]."</td>
             <td align=\"right\">".$line[3]."</td>
             <td align=\"right\">".$line[4]."</td>
             <td>".$line[5]."</td>
          </tr>";
  }

  echo "</table>";
?>
</body>
</html>


 $line[1] = intval($line[1]); //这个这样写是什么意思? intval手册是这样描述intval通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。但是将这个integer数值赋给$line[1]起到什么作用?

------解决方案--------------------
intval() 变量转成整数类型
$line[1] = intval($line[1]); 
$line[2] = intval($line[2]);
$line[3] = intval($line[3]);
转化成整数类型的变量重新组合数组$line

你也可以这样,重新赋值给变量
$line_a = intval($line[1]); 
$line_b = intval($line[2]);
$line_c = intval($line[3]);

那么你的模板显示,对应的需要变动。


------解决方案--------------------
$line[1] = intval($line[1]); 
的作用是:确保最终的 $line[1] 的值是整数

何况原作者已经做了说明
38行有 keep only the number of items ordered

  相关解决方案