PHP学习练手(三)

来源:互联网 发布:守望先锋源氏cos淘宝网 编辑:程序博客网 时间:2024/06/05 07:05

1、创建一维数组

  1. 方式一:一次添加一个元素构建数组

    $band[] = ‘Jemi’;$band[] = 'Bret';
  2. 方式二:添加元素时指定键

    $fruits['apple'] = 3;$fruits['orange'] = 1;
  3. 使用array()函数

    $state = array('IA'=>'Iowa, 'MD'=>'Maryland');
    $artists = array('Shins', 'Eels');
  4. 设置第一个数字键值,此后添加的值将是可以递增的键

    $days = array(1=>'Sun', 'Mon', 'Tue');
  5. 创建连续数字的数组,用range()函数

    $ten = range(1,10);

    2、访问数组

    foreach($array as $value){   #code...}
    foreach($array as $key => $value){    #code ...}

    示例:
    calendar.php:

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><form action="calendar.php" method="post">    <?php # Script 2.6 - calendar.php        //make the months array:        $months =array(1=>'1月','2月','3月','4月','5月','6月','7月','8月',                                        '9月','10月','11月','12月');        //make the days and years        $days = range(1, 31);        $years = range(2011, 2021);        //make the months pull-dowm menu        echo '<select name="month">';        foreach ($months as $key => $value) {            echo "<option value=\"$key\"> $value</option>\n";        }        echo '</select> ';        //make the days pull-dowm menu        echo '<select name="day">>';        foreach ($days as $value) {            echo "<option value=\"$value\"> $value</option>\n";        }        echo '</select> ';        //make the days pull-dowm menu        echo '<select name="year">>';        foreach ($years as $value) {            echo "<option value=\"$value\"> $value</option>\n";        }        echo '</select>';    ?></form></body></html>

    这里写图片描述


3、多维数组

  1. 先创建一维数组,然后再组合


    $primes = array(1, 3, 5, 7);
    $sphenic = array(30, 42, 66, 70);
    $numbers = array('Primes' => $primes, 'Sphenic' => $aphenic);

示例
multi.php

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>    <?php #Script 2.7 - mutl.php         $mexico = array(                    'YU' => 'Yucatan',                    'BC' => 'Baja California',                    'OA' => 'Oaxaca'            );        $us = array(                    'MD' => 'Maryland',                    'IL' => 'Illiniois',            );        $canada = array('QC' => 'Quebec');        $n_america = array(                    'Mexico' => $mexico,                    'United States' => $us,                    'Canada' => $canada            );        foreach ($n_america as $country => $list) {            echo "<h2>$country</h2>";            echo '<ul>';            foreach ($list as $key => $value) {                echo "<li>$key - $value</li>";            }            echo '</ul>';        }    ?></body></html>

这里写图片描述


4、数组和字符串

  • 字符=》数组:
$array = explode(separator, $string);//以指定的分割符将字符串分割为数组

例:

$s1 = 'Mon-Tue-Wed_Thu_Fri';$days_array = explode('-', $s1);
  • 数组=》字符:
$string = implode(glue, $array);        //将数组转变成字符,字符之间以glue连接

例:

$2= implode(',', $days_array());

5、数组排序

  • sort():按值对数组排序,并丢弃原来的键,排序后重置数组的键

  • ksort():按键对数组排序

  • asort():按值对数组排序

  • rsort()、arsort()、krsort():以相反的顺序对数组排序

示例:
sorting.php:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>    <table border="0" cellspacing="3" cellpadding="3" align="center">        <tr>            <td><h2>Rating</h2></td>            <td><h2>Title</h2></td>        </tr>    <?php #Script 2.8 - sorting.php    $movies = array(        'Casablance' => 10,        'To kill a Mockingbird' => 10,        'The English Patient' => 2,        'Strange Than Fiction' => 9,        'Story of the Weeping Camel' => 5,        'Donnie Darko' => 7    );    //原始顺序    echo '<tr><td colspan = "2" align = "center" >原始顺序</td></tr>';    foreach ($movies as $title => $rating) {        echo "<tr><td>$rating</td>                            <td>$title</td>\n";    }    //按键排序    ksort($movies);    echo '<tr><td colspan = "2" align = "center">按键排序</td></tr>';    foreach ($movies as $title => $rating) {        echo "<tr><td>$rating</td>                            <td>$title</td>\n";    }    //按值反向排序    arsort($movies);    echo '<tr><td colspan = "2" align = "center">按值反向排序</td></tr>';    foreach ($movies as $title => $rating) {        echo "<tr><td>$rating</td>                            <td>$title</td>\n";    }    ?>    </table></body></html>

这里写图片描述

补充:

  1. shuffle():随机排序数组
  2. natsort():更自然的顺序对数组排序
0 0
原创粉丝点击