1、PHP的概念+数组

一、概念

PHP是一种通用开源服务端脚本语言,将程序嵌入到HTML文档中去执行,结果以纯 HTML 形式返回给浏览器。
PHP: Hypertext Preprocessor “超文本预处理器”,1994年由Rasmus Lerdorf创建,刚刚开始仅仅是为了要维护他本人个人网页而制作的一个简单程序(Perl语言编写),原名Personal Home Page(PHP由此得名),后用C语言重新编写,改名Hypertext Preprocessor

(一)、PHP能做什么

  1. 生成动态页面内容
  2. 创建、打开、读取、写入文件
  3. 收集ajax数据
  4. 发送和接收cookie
  5. 添加、删除、修改您的数据库中的数据
  6. 限制用户访问您的网站上的一些页面
  7. 加密数据

二、PHP基本语法

(一)、基本结构<? PHP ?>

<?php //开始 
 //...php代码
?> //结束

(二)、注释-与JS一样

单行注释://
多行注释:/**/

(三)变量

1、命名规则

(1.1)、以 $ 符号开始,后面跟着变量的名称($称为标识符,不属于变量组成部分)
(1.2)、只能包含字母、数字字符以及下划线,不能以数字开头(不能包含空格)
(1.3)、 区分大小写

PHP 没有声明变量的命令,也没有声明提前的概念。
变量在第一次赋值时被创建:define("MY_NAME", "laoxie");
<?php
    $txt="Hello world!";
?>

(四)、作用域

1、$GLOBALS ==> 全局变量

在函数外部定义的变量,可以在任意位置访问(需要手动定义为全局变量)

$GLOBALS 超级全局变量,数组: $GLOBALS[“变量名”]

<?php
    $x='global x';
    function myTest(){
        //echo $x;//报错 Undefined variable:未声明定义的变量
        echo $GLOBALS['x']; //1.获取全部变量正确写法:$GLOBALS[变量名],其中变量名不带$。

        //2.同时,可以在函数中创建全局变量
        $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
    } 
    myTest();
    echo $y;
?>
2、 global ==> 局部变量

函数内部声明的变量,仅能在函数内部访问

global关键字: global $变量名

$fruit = "lemon";
function show(){
	 global $fruit;
	 echo "<span>我最喜欢吃的水果是".$GLOBALS["fruit"]."</span>";
}
show();
 echo $fruit;

(五)、 输出语句

1、echo ==> 关键字

可以输出一个或多个字符串(字符串可以包含HTML标签),速度较快,一般用于向前端返回数据

<?php
    //输出一个字符
    echo "Hello world!<br>";
    //输出多个字符
    echo "This", " string", " was", " made", " with multiple parameters.";
?>
2、print_r()

打印关于变量的信息,适用于数组、对象的打印,一般用于测试

3、var_dump()

判断一个变量的类型与长度,并输出变量的数据类型和数值,一般用于测试

(六)拼接字符串

<?php
    $myname = "lemon";  
    echo 'My name is' . $myname;  //1.通过并置运算符.拼接字符串及变量
    //或者
    echo "My name is $myname"; //2.双引号内可以直接输出变量,无需拼接
?>
超级全局变量
  • $GLOBALS
    是PHP的一个包含所有全局变量的数组,可以在任意位置使用
  • $_SERVER
    是一个包含了头信息(header)、路径(path)等信息的数组
  • $_POST / $_GET
    被广泛应用于收集表单数据,常用于ajax请求等操作
  • $_COOKIE
    用于收集前端发送过来的cookie数据
  • $_REQUEST
    变量包含了 $_GET、$_POST 和 $_COOKIE 的内容
  • $_SESSION
    服务器版cookie
  • $_FILES

三、数据类型

1、String(字符串)
2、Integer(整型)
3、Float(浮点型)
4、Boolean(布尔型)
5、Array(数组)
6、Object(对象)
7、NULL(空值)

(一)字符串string

1、strlen() ==> 获取字符串长度,得到的字符的字节数
2、 mb_strlen() ==> 获取字符串长度
3、 strpos() ==> 查找某个字符在字符串中的索引(字节数),如果未找到匹配,则返回 false
$name = "lemon";
echo $name;
echo strlen($name);
echo mb_strlen($name);
echo strpos($name,"e");

(二)数组 Array

1、创建数组
(1)数值数组 ,等同于js的数组array(1,“aa”,3)
$cars=array("Volvo","BMW","Toyota");
(2)关联数组(类似于js对象)
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

* => 代替 :号
(3)多维数组:一般都是外层为数值数组,内层为关联数组(类似于js的数组对象)
 $goodslist = array(array(
            "goodsName" => "电动牙刷",
            "price" => 200
        ),array(
            "goodsName" => "牙线",
            "price" =>10
        ));
var_dump($goodslist);
echo $goodslist[0]["goodsName"];
2.操作数组

数组[索引/‘键’]

3.常用方法
(3.1)count() 获取数组的长度
(3.2)array_rand() 随机获取数组的索引值
(3.3)in_array() 判断某个值是否存在数组中
$arr = array(1,"aa",3,"bb","cc","dd");
var_dump(in_array("aa",$arr));
(3.4)array_slice() 从数组中取出一段
$arr = array(1,"aa",3,"bb","cc","dd");
var_dump(array_slice($arr,-2,2));
4.遍历
(4.1)for() 一般用于遍历数值数组
$arr = array(1,"aa",3,"bb","cc","dd");
for($i=0;$i<count($arr);$i++){
	echo $arr[$i];
 }
echo $arr[1];
print_r($arr);
(4.2)foreach() 一般用于遍历关联数组

foreach($arr as i t e m ) 遍 历 数 值 数 组 , item) 遍历数值数组, item),item代表数组每一项
foreach($arr2 as $key => v a l ) 遍 历 关 联 数 组 , val) 遍历关联数组, val)key代表数组每一项的键,$val代表数组每一项的值

$arr = array(1,"aa",3,"bb","cc","dd");
foreach($arr as $item){
    echo $item;
 }
echo $arr[1];
print_r($arr);

//关联数组:    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    //获取单个值
    echo $age['peter'];
    //遍历关联数组:foreach..as
    foreach($age as $key=>$value){
        echo $key .":". $value;
        echo "<br>";
    }
数组排序
  • sort() 对数组进行升序排列
  • rsort() 对数组进行降序排列
  • asort() 根据关联数组的值,对数组进行升序排列
  • ksort() 根据关联数组的键,对数组进行升序排列
  • arsort() 根据关联数组的值,对数组进行降序排列
  • krsort() 根据关联数组的键,对数组进行降序排列
PHP多维数组怎么渲染到页面
<?php
    $brand = array("小米","华为","锤子","iphone","诺基亚","摩托罗拉");
    $price = array(2000,10000,9999,5999,998,399);
    $color = array("骚粉","原谅绿","女儿红","柠檬黄");
    $goodslist = array();
    for($i=0;$i<100;$i++){
        $goods = array(
            "guid" => $i+1,
            "goodsName" => $brand[array_rand($brand)],
            "price" => $price[array_rand($price)],
            "color" => $color[array_rand($color)]
        );
        $goodslist[$i] = $goods;
    }
    // var_dump($goodslist);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    <ul id="output">
        <?php
            foreach($goodslist as $item){
                echo '<li data-id="'.$item["guid"].'">
                            <p>商品名:'.$item["goodsName"].'</p>  
                            <p>价格:'.$item["price"].'</p>  
                            <p>颜色:'.$item["color"].'</p>
                        </li>';
            }
        ?>
    </ul>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值