您的位置:首页 > 编程语言 > PHP开发

PHP学习练手(三)

2015-12-21 21:07 816 查看

1、创建一维数组

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

$band[] = ‘Jemi’;
$band[] = 'Bret';


方式二:添加元素时指定键

$fruits['apple'] = 3;
$fruits['orange'] = 1;


使用array()函数

$state = array('IA'=>'Iowa, 'MD'=>'Maryland');


$artists = array('Shins', 'Eels');


设置第一个数字键值,此后添加的值将是可以递增的键

$days = array(1=>'Sun', 'Mon', 'Tue');


创建连续数字的数组,用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、多维数组

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

$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>




补充:

shuffle():随机排序数组

natsort():更自然的顺序对数组排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: