作业一 将三个demo小案例完成
demo1.php
<?php
//数据可以用变量地址代替
$site = 'php.cn';
function get_site($webSite)
{
return $webSite.'打发';
}
//调用执行,指令进入cup中完成计算
echo get_site($site);
demo2.php
<?php
//将Prete放入变量中,变量值得类型是字符串
$name = 'Prete';
$age = 30;
$isMarried = true; //true = 1 false = null 或空
//echo 只能输出,没有返回值
echo '年龄' . $age . '<br>';
//布尔类型会发生类型转换,true =>1, false=>空,没有
echo '是否结婚'. $isMarried .'<br>';
//输出字符串
echo '姓名' . $name . '<br>';
//字符串虽然是单值,但是也可以像数组一样进行访问
echo '我的姓名是:'. $name{0}.'<br>';
//print 输出,有返回值: 1
print('年龄'. $age .'<br>');
echo print('年龄'.$age .'<br>');
//print_r($var,false|true):容易理解的方式打印变量
print_r($name);
echo '<br>';
//如果添加了第二个参数,将会是返回return
echo print_r($name,true);
//对简单的类没有多大的用处,但是对复合数据很重要
$data = range(1,20,2);
//<pre>格式化需要输出数据,这样就能轻松阅读代码
echo '<pre>'. print_r($data,true) .'</pre>';
//就是定义好该变量php代码,然后用定界符显示出来
var_export($name);
echo '<b>';
//打印一个或者是多个变量结构,包括数据类型与 值
var_dump($name, $age, $isMarried);
demo3.php
<?php
//数组
// 1)索引数组
//1、定义
//如果有$user = [];就是追加定义
//可以直接定义, 索引默认从0开始,也可以定义,并不要求连续
$user[] = 110;
$user[] = 'admins';
$user[] = 'admins@163.com';
//推荐方式
$user = [101,'admins','admins@163.com'];
//2、访问: 单个成员或多个成员
//echo、print 只能访问单个成员,不能输出数组
echo $user[2] .'<br>';
print_r($user);
echo '<pre>'. print_r($user,true).'</pre>';
var_dump($user);
echo '<hr>';
//3) 遍历: 可以循环遍历访问每个成员
//3.1)for: 索引数组,最常用的时for循环
$res = '';
for($i=0;$i<count($user);$i++)
{
$res .= $user[$i] .',';
}
echo rtrim($res);
echo '<hr>';
foreach($user as $itme)
{
$res .= $itme . ',';
}
echo rtrim($res, ',');
echo '<hr>';
//4)转换
//4.1)索引数组 与变量之间的转换, mvc中模板赋值会用到
list($id, $name, $email) = $user;
echo $id . '-----'. $name . '-----' . $email .'<br>';
//4.2) 索引数组转字符串: 将数组扁平化会存储,例如将数组存储到数据表的字段中
$str = implode(',',$user);
echo $str;
echo $sql = "INSERT `users` SET `comment` = {$str} " .'<br>';
//附加知识:将一个字符串 例如在数据表中读到, 在转换成数组
$arr = explode(',',$str);
print_r($arr);
echo '<hr>';
//each在之后的使用总会删除报错
while(list($key,$value) = each($user))
{
echo '[' . $key . ']=> '. $value . '<br>';
}
//二、关联数组
//1、定义
$user = ['id'=>110,'name'=>'admin','email'=>'admin@qq.cn'];
//2、访问
echo $user['name'] .'<br>';
print_r($user);
var_dump($user);
var_export($user);
echo '<hr>';
//3、遍历
foreach ($user as $key=>$value)
{
echo '[' . $key . ' ]=>' . $value .'<br>';
}
//for 也可以循环关联数组 可以通过指针进行
$res = '';
for($i=0;$i< count($user);$i++)
{
$res .= current($user). ',';
// 获取当前指针上的数组成员
next($user);
}
echo rtrim($res,',');
echo '<hr>';
//4、转换
//4.1关联数组与变量之间的转换 与书索引数组略有区别
//索引数组需要用list()提供变量名,关联数组可以直接使用字符串名作为变量
$user = ['id'=>110,'name'=>'admins','email'=>'admin@qq.cn'];
//同样非常适合用在模板变量的创建于赋值上
extract($user);
echo 'id ='.$id.',name ='.$name ,', email ='.$email .'<br>';
//既然可以将数组拆分成独立的变量,就可以将独立变量组装成关联数组: compact
$dsn = 'mysql:host=localhost;dbname=pdo';
$username = 'root';
$password = 'root';
$linkParams = compact('dsn','username','password');
print_r($linkParams);
echo '<hr>';
//4.2 关联数组转索引数组
//使用 array_values将值转换成索引数组
print_r(array_values($user));
echo '<hr>';
//使用array_keys 将键转换成索引数组
print_r(array_keys($user));
作业二 手写md文档
总结
1、每个案列非常经典也容易理解,定长数据和不定长数据还是很深刻的,堆于栈图数据的存放很清晰
2、call_user_func class_user_func_array
3、数组的使用很平凡,准备下功夫多做数组
- 定义:
$user = [101, 'admin', 'admin@php.cn'];
- 访问:
echo
,print_r()
,var_dump()
,var_export()
- 遍历:
for
- 转换:
list()
,implode()
,explode()