博客列表 >PHP基础知识复习 .1202

PHP基础知识复习 .1202

HTML基础标签
HTML基础标签原创
2019年12月03日 22:06:31982浏览

一、数据段与代码段

task1.JPG

<?php
   //数据段
   $site = 'php.cn';
   //代码段
   function get_site($webSite){
       return $webSite . '欢迎您';
   }
   //执行
   echo get_site($site);

   echo'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

二、单值读取

1575380720792985.jpg

<?php

$name = 'Mr Gao';
$age = 25;
$sex = true;  //男true  女false

###单值读取###

##echo:回显 无返回值
echo '年龄:' . $age . '<br>';
//布尔值会发生转换, true=>1 false=>Nell
echo '性别:' . $sex . '<br>';
//字符串
echo '姓名:' . $name . '<br>';
//字符串虽然是单值,但却可以向数组一样访问
echo '姓名:' . $name{0} . '<hr>';

##print:打印 与echo功能类似 但有返回值:1
print('姓名:' . $name . '<br>' );
echo print('姓名:' . $name . '<br>' );
echo '<hr>';

##print_r($bar , false|true):以更容易理解的方式打印变量,r:readily 易于理解
//如果只打印一个变量 和之前没有区别
print_r($name);
echo '<br>';
//但添加第二个参数true 则是返回信息return 而不是输出echo
echo print_r($name , true);
echo '<br>';
//这样做 对单值变量意义不大 但对复合数据意义非凡
$date = range(1 , 15 , 3);//range()根据范围创建数组,包含指定的元素
echo '<pre>' . print_r($date , true) . '</pre>';
echo '<hr>';
//因为第二个参数true的存在 是该函数返回了数据 而不是直接输出
//所以我们可以根据自己的要求 任意的格式化需要输出的数据 使之更好阅读

##var_export($var , false|true): 输出/返回变量的字符串表示
//其实就是定义该变量的PHP代码而已 例:字符串会自动添加上定界符引号
var_export($name);
echo '<hr>';

##var_dump($var1 , $var2...):打印一个或多个变量的结构 包括类型与值
var_dump($name , $age , $sex);

运行实例 »

点击 "运行实例" 按钮查看在线实例

三、索引数组

1575380893647312.jpg

<?php
###数组定义###

##(一)索引数组

//1.定义
//如果有$user = [];就是追加式定义
//直接定义 索引默认重0开始 也可自定义 并不要求连续
$user[] = 66;
$user[] = 'admin';
$user[] = 'admin@php.cn';
//推荐方式
$user = [66 , 'admin' , 'admin@php.cn'];

//2.访问 :单个或多个成员
//简单变量中的echo , print 只能访问单个成员 , 不能输出数组
//例: 单个数组成员
echo $user[2] . '<hr>';
print_r($user);//为了结构清晰 如下
echo '<pre>' . print_r($user , true) . '</pre>' . '<hr>';
var_dump($user);
echo '<hr>';

//3.遍历: 可循环访问全部成员
//3.1  for: 索引数组 最常用的for循环
$res = '';
//count — 计算数组中的单元数目,或对象中的属性个数
for ($i = 0; $i < count($user); $i++ ){
    $res .= $user[$i] . ' - ';
}
echo rtrim($res , ' - ');//去掉最后的符号 输出遍历结果
echo '<hr>';
//3.2 foreach
$res = '';
foreach ($user as $item){
    $res .= $item . ' -- ';
}
echo rtrim($res , ' -- ');
echo '<hr>';

//4.转换
//4.1 索引数组与变量之间的转换 MVC中模板赋值会用到
list($id , $name , $email) = $user;//list — 把数组中的值赋给一组变量
echo $id . ' --- ' . $name . ' --- ' . $email . '<hr>';
//4.2 索引数组转字符串: 将数组扁平化存储会用到 例:将数组存储到数据表的字段中
$str = implode(',' , $user);//implode — 将一个一维数组的值转化为字符串
echo $str , '<hr>';
$sql = "INSERT `users` SET `comment` = {$str}";
//4.3将一个字符串(例如从数据表中读到的) 再转换成数组
$arr = explode(',' , $str);//explode — 使用一个字符串分割另一个字符串
print_r($arr);
echo '<hr>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

四、关联数组

1575381122996313.jpg

实例

<?php
//(二)关联数组

//1.定义
$user = ['id' => 66, 'name' => 'admin', 'email' => 'email@php.cn'];

//2.访问
echo $user['name'] . '<br>'; //返回单值
print_r($user) ; echo '<br>';
var_dump($user);
echo '<hr>';

//3.遍历
//3.1 foreach 推荐
foreach ($user as $key => $value) {
    echo '[' . $key . '] =>' . $value . '<br>';
}
//3.2 for 并不适合关联数组 需借助数组指针 也可以完成遍历
$res = '';
for ($i = 0; $i < count($user); $i++) {
    $res .= current($user) . ' - ';//获取当前指针处的数组成员
    next($user);//指针前移到下一个数组成员的位置上
}
echo rtrim($res, ' - ');
echo '<hr>';

//4.转换
//4.1 关联数组与变量之间的转换
//索引数组需要用list()提供变量名  关联数组可以直接使用字符串键名(key)做变量名
//同样非常适合在模板变量的创建与赋值上
extract($user);//extract — 从数组中将变量导入到当前的符号表
echo 'id=' . $id . ' --- name = ' . $name . ' --- email = ' . $email . '<br>';
//既然可以数组拆分成独立变量 就可以将独立变量再组装成关联数组:compact()
$dsn = 'mysql:host = localhost; dbname = demo';
$username = 'root';
$password = 'root';
//compact — 建立一个数组,包括变量名和它们的值
$linkParams = compact('dsn', 'username', 'password');
echo '<br>';
//4.2 关联数组转索引数组
//array_values()返回数组中所有的值并给其建立数字索引
print_r(array_values($user));
echo '<br>';
//4.3 关联数组转字符串 与索引数组方式一样的 主要用于存储和格式化输出
//涉及函数    implode()拆分   explode()组装
$str = implode(',', $user);
echo $str . '<br>';
$arr = explode(',', $str);
print_r($arr);

运行实例 »

点击 "运行实例" 按钮查看在线实例

手抄:

1575381335438681.jpg

1575381381241344.jpg

1575381418448548.jpg

总结:

       也就是朱老师说的学习方法:

       1.任何一种技术都是解决了一个问题

       2.解决问题是分步骤的 并且是有限的 可实现的

       3.对结果是可以进行测试的 有些要预测

       4.代码的可读性第一

       5.要有填空思维


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议