php数组——将服务端的文件载入数组并显示成web页面

本文演示如何从文件加载数据到PHP数组中,并展示客户订单信息,同时介绍了PHP数组的创建、操作与常用函数使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在服务端存有文件orders.txt


将文件载入数组并显示,创建vieworder2.php

<?php
    $DOCUMENT_ROOT =$_SERVER['DOCUMENT_ROOT'];
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>客户订单</title>
    <style>
        table,tr,th,td{
            border-collapse: collapse;
            border: 1px solid #ccc;
            padding: 5px;
        }
        th{
            background-color: #ccccff;
        }
        td{
            text-align: right;
        }
    </style>
</head>
<body>
<h1>我们的商店</h1>
<h2>客户订单</h2>
<?php
    //将文件载入
    $orders=file("$DOCUMENT_ROOT/L03/files/orders.txt");
    //统计元素个数
    $number_of_orders=count($orders);
    //错误信息提示
    if($number_of_orders==0){
        echo "<p><strong>没有订单信息,请再试一试!</strong></p>";
    }
    echo "<table>
    <tr>
        <th>订购日期</th><th>男装</th><th>鞋子</th><th>眼镜</th><th>总计</th><th>收货地址</th>
    </tr>";
    for($i=0;$i<$number_of_orders;$i++){
        //按空格对元素进行分割
        $line=explode("\t",$orders[$i]);
        //将一个字符串转换为一个整数
        $line[1]=intval($line[1]);
        $line[2]=intval($line[2]);
        $line[3]=intval($line[3]);
        echo "<tr>
                <td>$line[0]</td><td>$line[1]</td><td>$line[2]</td><td>$line[3]</td><td>$line[4]</td><td>$line[5]</td>
              </tr>";
    }
    echo "</table>";
?>



</body>
</html>
最后显示的页面内容为:


补充知识点:

<?php
//创建一个数组
$products=array('cloths','shoes','glasses');
//创建一个1~10的升序数组
$numbers=range(1,10);
//创建一个1~10的奇数数组
$odds=range(1,10,2);
//创建一个a~z的字母数组
$letters=range('a','z');
//改变数组元素的内容
$products[0]='spinner';
//增加一个新元素到数组末尾
$products[3]='skit';
//显示数组内容
echo "$products[0] $products[1] $products[2] $products[3]";
//使用循环访问数组
echo '<br/>';
for($i=0;$i<26;$i++){//使用for循环
    echo $letters[$i]." ";
}
echo '<br/>';
foreach($odds as $current){//使用foreach
    echo $current." ";
}

//初始化关联数组
$prices=array('cloths'=>150,'shoes'=>300,'glasses'=>35);
//使用循环语句访问关联数组的3种方法
echo '<br/>';
foreach($prices as $key=>$value){//使用foreach
    echo $key.'_'.$value.'<br/>';
}

reset($prices);//使用reset函数将当前元素重新设置到数组开始处
while($element=each($prices)){//使用each函数
    echo $element['key'].'_'.$element['value'].'<br/>';
}

reset($prices);
while(list($product,$price)=each($prices)){//使用list函数
    echo "$product - $price<br/>";
}

//创建一个二维数组
$products2=array( array('CLOTH','cloths',150),
                  array('SHOE','shoes',300),
                  array('GLASS','glasses',35));
//使用双重for来访问数组元素
for($row=0;$row<3;$row++){
    for($column=0;$column<3;$column++){
        echo ' | '.$products2[$row][$column];
    }
    echo ' |<br/>';
}
//创建一个二维关联数组
$products3=array(array('Code'=>'CLOTH','Description'=>'cloths','Price'=>150),
                 array('Code'=>'SHOE','Description'=>'shoes','Price'=>300),
                 array('Code'=>'GLASS','Description'=>'glasses','Price'=>35));
//使用for循环访问二维关联数组
for($row=0;$row<3;$row++){
    echo '|'.$products3[$row]['Code'].'|'.$products3[$row]['Description'].'|'.$products3[$row]['Price'].'|<br/>';
}
//使用each函数和list函数来访问
reset($products3);
for($row=0;$row<3;$row++){
    while(list($key,$value)=each($products3[$row])){
        echo "|$value";
    }
    echo '|<br/>';
}
/************数组排序*****************/
//使用sort函数按字母升序进行排序
$products4=array('cloths','shoes','glasses');
sort($products4);
//使用sort函数按数字升序进行排序
$prices3=array(150,300,35);
sort($prices3);
//使用asort函数根据数组的每个元素值进行排序
$prices4=array('cloths'=>150,'shoes'=>300,'glasses'=>35);
asort($prices4);
//使用ksort函数根据数组的关键字进行排序
ksort($prices4);
//另外对应的反向排序方法有rsort()、arsort()、krsort();

//用户定义排序:usort()
$products5=array( array('CLOTH','cloths',150),array('SHOE','shoes',300), array('GLASS','glasses',35));
function compare($x,$y){
    if($x[1]==$y[1]){
        return 0;
    }else if($x[1]<$y[1]){
        return -1;
    }else{
        return 1;
    }
}
usort($products5,'compare');

//对数组进行重新排序:随机排序shuffle()、反向排序array_reverse()
$numbers=range(1,10);
//$numbers=array_reverse($numbers);
$numbers=shuffle($numbers);
for($i=0;$i<3;$i++){//使用for循环
    echo $numbers[$i]." ";
}

数组常用函数补充

current($array_name)——返回第一个元素;

next($array_name)——将指针前移,然后再返回新的当前元素;

each($array_name)——在指针前移一个位置之前返回当前元素;

reset($array_name)——将返回指向数组第一个元素的指针;

end($array_name)——将指针移到数组末尾;

prev($array_name)——将当前指针往回移再返回新的当前元素,与next()相反;

array_walk()——对数组的每一个元素应用任何函数;

count()、sizeof()、array_count_values()——统计数组元素个数;

extract()——通过一个数组创建一系列的标量变量;

更多数组的知识点请查看php手册_数组



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值