课堂案例
<?php
//数据,变量表示放在数据段¥site='php.cn'
$site='php.cn';
//代码函数表示放在代码function
function get_site($webSite){
return $webSite.'欢迎你';
}
// 调用执行指令一条一条的进入到cpu中
echo get_site($site);
// 下面是demo2.php
//变量名是name,变量值的类型是字符串
$name='Peter Zhu';
$age=30;
$isMarried=true;
//单值读取echo:回显,无返回值
echo '年纪'.$age.'<br>';
//布尔值会发生类型转换,true=>1,false=>空
echo '是否已婚:'.$isMarried.'<br>';
//字符串
echo '姓名:'.$name.'<br>';
//字符串虽是单值,但阙可以像数组一样访问
echo '我的姓是:'.$name{0}.'<br>';
//print打凶,与echo功能类似,但是会有返回值:1
print('年纪'.$age.'<br>');
echo print('年纪'.$age.'<br>');
//print_($var.false|true):以更容易理解的方式打印变量,r:readily容易理解
//如果只打凶一个变量,看上去与之前的没有区别
print_r($name).'<br>';
//如果添加了第二个参数true则是返回信息return而不是输出echo
echo print_r('$name,true').'<br>';
//这样做对于简单的单值变量没有什么作用,但对于复合数据意义就不一般
$data=range(1,20,2);
//因为第二个参数true的存在使该函数只是返回了数据,而不是直接输出,让你以可以根据自己的要求任意的格式化需要输出的数据让其更好的阅读
echo '<pre>'.print_r($data,true).'</pre>';
//var_export($var,false|true):输出/返回变量的字符串表示其实就是定义该变量的php代码而已,例如字符 串会自动添上定界符引号
var_export($name);
echo '<br>';
//打印一个或多个变量结构包括类型与值
var_dump($name,$age,$isMarried);
//以下是demo3.php
//索引数组的定义
//如果有$user=[];就是追加定义
//直接定义默认从0开始也可自定义
$user[]=101;
$user[]='admin';
$user[]='admin$php.cn';
//推荐使用
$user+[101,'admin','admin@php.cn'];
//访问单个或多个成员
echo $user[2].'<br>';
print_r($user);
echo '<pre>.print_r($user,true)'.'</pre>'.'<br>';
var_dump($user);
echo '<hr>';
//遍历数组
//1.for遍历索引数组
$res='';
for ($i=0;$i<count($user);$i++){
$res.=$user[$i].',';
}
echo rtrim($res,',');
echo '<hr>';
//2foreach遍历
$res='';
foreach ($user as $item){
$res.=$item.',';
}
echo rtrim($res,'.');
echo '<hr>';
//索引数组与变量之间的转换
list($id,$name,$email)=$user;
echo $id.'--'.$name.'--'.$email.'<br>';
//索引数组转字符串
$str=implode(',',$user);
echo $str,'<br>';
$sql="INSERT `users` SET `comment`={$str};";
//将一个字符串转换成数组
$arr=explode(',',$str);
print_r($arr);
echo '<br>';
//注意索引不推荐用while遍历
//关联数组
$user=['id'=>101,'name'=>'admin','email'=>'admin@php.cn'];
//访问
echo $user['email'].'<br>';//单值
print_r($user);
echo '<br>';
var_dump($user);
echo '<br>';
var_export($user);
echo '<hr>';
//推荐用foreach遍历
foreach ($user as $key=>$value){
echo '['.$key.']=>'.$value.'<br>';
}
//借助数组指针完成遍历
$user=['id'=>101,'name'=>'admin','email'=>'admin@php.cn'];
$res = '';
for ($i=0;$i < count($user);$i++){
// 获取当前指针处的数组成员
$res.= current ($user).',';
// 指针前移到下一个数组成右岸的位置上
next($user);
}
echo rtrim($res,',');
echo '<hr>';
$user=['id'=>101,'name'=>'admin','email'=>'admin@php.cn'];
//关联数组与变量之间的转换
extract($user);
echo 'id='.$id.',name='.$name.',email='.$email.'<br>';
// 既然可以数组拆分成独立变量,就可以将独立变量再组装成关联数组: compact()
$dsn='mysql:host=localhost;dbname=demo';
$username='root';
$password='root';
$linkParams=compact('dsn','username','password');
print_r($linkParams);
echo '<br>';
print_r(array_values($user));
//关联数组转字符串implode
$im=implode(' ',$linkParams);
echo '<br>'.$im.'<br>';
//字符串转化成数组explode
print_r(explode(' ',$im));
`