PHP
php笔试题库
1.1使用array创建数组
//创建一个带有索引的数组
$speed = array(“aa"=>50,2=>120,3=>260,4=>300);
//创建一个二组数组
$two = array(
"color" => array("red","blue","green"),
"numbers" => array(1,2,3,4,5,6,7,8,9)
);
1.2 使用compact()创建数组
2. compact() 接受可变的参数数目。每个参数可以是一个包括变量名的字符串或者是一个包含变量名的数组,该数组中还可以包含其它单元内容为变量名的数组
<?php
$event = "SIGGRAPH“;
$city  = "San Francisco";
$state = "CA";
$location_vars = array("city", "state");
$result = compact("event", "dd", "ee", $location_vars);
?>
1.2使用compact()创建数组
foreach($result as $key=>$value)
{
    echo $key,"=>",$value,"<Br>";
}
输出:
event=>SIGGRAPH
city=>San Francisco
state=>CA
1.3 使用range()创建数组
如果使用array()函数,建立一个包含100个元素的数组,每个元素的值之间都有一定的规律,在实际操作中是比较麻烦的。在这种情况下,就可以使用range()函数的自动功能来完成类似的操作。
array  range(int  start ,int  end  [,int step]  )
<?php
$even=range(1,20,2);
$letters=range("A","G");
?>
2. 输出和测试数组
使用print_r()函数输出:
    print_r($array);
使用循环控制语句输出:
foreach($array as $key=>$value)
{
    echo $key,"=>",$value,"<Br>";
}
使用is_array()函数测试参数是否为数组类型,如果是返回true,否则返回false:
$states=array("aa","bb");
echo "\$states is an array:".is_array($states)."<br>";
3.增加和删除数组元素
通过赋值增加数组元素
    $arrays=array("河南"=>"郑州");
    $arrays["江西"]="南昌“;
使用array_push()函数追加数组元素(入栈)
    int array_push ( array &array, mixed var [, mixed ...] )
使用array_pop()返回数组的最后一个元素(出栈)
    mixed array_pop ( array &array )
使用array_shift()返回数组的第一个元素
    mixed array_shift ( array &array )
使用array_unshift()增加元素到数组头
    int array_unshift ( array &array, mixed var [, mixed ...] )
使用array_pad()函数修改数组的大小,使其增加到指定的长度
3.增加和删除数组元素
示例:
<?php
$stack = array("orange", "banana");
print_r($stack);print "<br>";
array_push($stack, "array_push");
print_r($stack);print "<br>";
array_pop($stack);
print_r($stack);print "<br>";
array_shift($stack);
print_r($stack);print "<br>";
array_unshift($stack,"array_unshift");
print_r($stack);print "<br>";
?>
4.1定位数组
当一个数组有很多元素时,使用数组遍历来求证某个值或键名是否存在,在速度和效率上有一定的损失。PHP提供了in_array()和array_key_exists()函数,可以快速从一个数组中取得某个值或键名是否存在
in_array()示例:
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
    array_key_exists()示例:
$search_array = array("first" => 1, "second" => 4);
if (array_key_exists("first", $search_array))
{
    echo "tihs first is the array";
4.1定位数组
对数组的操作主要是针对键名或值,在不想破坏被访问数组的情况下,可以把这个数组的键名或值,单独取出来进行操作,要想返回一个数组中单元的键名,可以使用array_keys()函数,返回单元的值,可以使用array_values()函数。
使用array_keys()与array_values()这两个函数取回的键名或值,都会保存的新数组中
array_keys()示例:
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
4.2 遍历数组
    很多情况下我们都需要对数组进行遍历以获得各个键和值,PHP提供很多了很多函数来完成类似的任务
下面列举一些常用的函数
Key()    返回数组中当前单元的键名。
Reset()    将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE
Each()    返回数组中当前的键/值对并将数组指针向前移动一步
Current()    返回数组中的当前单元的值
End()    将数组的内部指针指向最后一个单元
Next()    将数组中的内部指针向前移动一位
Prev()    将数组的内部指针倒回一位
4.2 遍历数组
<?php
$array = array(0 => 0, "color" => "red",55,"two"=>array(1=>3,5,6,7));
function dg($arr)
{
$flag=reset($arr);
while(!is_bool($flag))
{
$key=key($arr);
$value=current($arr);
if(is_array($value))
{
dg($value);
}
else
{
echo $key.":".$value,"<Br>";
}
$flag=next($arr);
}
}
dg($array);
?>
4. 数组排序
    数据排序时计算机科学中的核心问题,PHP也提供了很多对数组的排序函数
简单排序    (键/值关联不再保持)
        sort()、rsort()。
根据关键字排序   
        ksort()、krsort()
根据值排序   
        asort()、arsort()
自然语言排序   
        natsort()、natcasesort()、
多维排序   
        array_multisort()
用户自定义的规则排序   
        usort()
4. 数组排序
<?php
$fruits = array(“l"=>"lemon", “o"=>"orange", "b"=>"banana", “a"=>"apple");
foreach ($fruits as $key => $val) {
    echo "$key = $val","<br>";
}
echo "<br>";
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val","<br>";
}
?>
4.其他常用数组函数
合并和拆分数组的函数
array_combine()
Array_merge()
Array_merge_recursive()等
随机返回数组键的函数
Array_rand()
随机排序函数
Shuffle()
求和函数
      Array_num()
值总数 count()
对下面的数组进行遍历,然后输出。
要求使用两种不同的方法
$arr = array("lemon", "a"=>"orange", "b"=>array(6,3,44,7), "c"=>"apple");
输出结果参照下面的:
0:lemon
a:orange
b:6,3,44,7,
c:apple
第五讲  面向对象
PHP提供几种在脚本中包含文件的主要途径。
Include() 和 require()
他们的使用方式如下:
<?php
include(“i_dont_exist.inc”);
require(“i_dont_exist.inc”);
Include  ‘i_dont_exist.inc';
  require  'i_dont_exist.inc';
?>
被引用的文件不一定非要使用扩展名.php,你可以自己随便定义
区别:require() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。include() 就不是这样,脚本会继续运行。
注意:课本上63页介绍的并不准确了
课程目标
一、什么是面向对象(理解)
二、类和对象(掌握)
三、类的成员(掌握)
四、构造函数和析构函数(掌握)
五、其他关键字和辅助函数(了解)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。