PHP随笔笔记

  • wampserver 相关问题记录在了我segmentfault上,点击这里

  • && 或 & 、|| 或 | 都可以做逻辑运算。
    && 和 || 会发生“短路问题”,看下面代码:

<?php
    $n = 10;            
    if ( $n < 5 && $n++ >10 ) {      
          // do sth...    
     };      
     echo $n;       // 这里因为 $n < 5 为false,所以 $n++ 不会执行,$n 输出为10
?>

|| 同上,用& 、| 没有“短路问题”。

  • PHP全局变量的使用方法。
    在PHP中我们无法分辨变量的声明和使用,这点跟其他语言有所区别。若在一个函数类中使用全局变量(可以看做在该函数外部声明的变量),看下面代码:
<?php
    $a = 5;
    function sum () {
        global $a;  // 在global关键字声明之后该变量才为全局变量
        echo $a;
    }
    sum();
?>
  • PHP 静态变量
    1、静态变量不存在堆栈中,而在静态代码段中保存。
    2、一个函数多次调用,只会在第一次调用时声明并保存,之后再调用直接在内存中读取使用。
    看下面的代码:
function test () {
      static $a = 0;
      $a++;
      echo $a;
}
test();
test();
test();
test();
//  输出 1 2 3 4
  • 变量函数*
    看下面代码:
function one ($a, $b) {
      return $a + $b;
}
function two($a, $b) {
      return $a * $a + $b * $b;
}
function three($a, $b) {
      return $a * $a * $a + $b * $b * $b;
}
// $s = "one";
// $s ="two";   // 字符串*
$s = "three";
echo "结果是:".$s(1, 2);
  • 递归函数*
    看下面代码:
<?php                                     //                    4
    function demo ($n) {                  //                    3
        echo  $n."<br>";                  //                    2
        if ( $n > 0 )                     //                    1
             demo($n-1);                  //                    0
        else                //输出--->>   //                    -------
             echo  "-------<br>";         //                    0
        echo $n."<br>";                   //                    1
    }                                     //                    2
demo(4);                                  //                    3
?>                                        //                    4
//  1、调用demo,输出5
//  2、进行判断,成立
//  3、调用demo,传入4,输出4,再次判断,成立,调用demo...,依次输出了4 3 2 1 0
//  前几部的每次调用demo,demo并没有执行完成,而是接着再次调用demo,当判断不成立时,
//  输出"--------"并且最后被调用的demo将最先被执行完依次输出了0 1 2 3 4
  • 数组----遍历*
    1.foreach循环遍历数组:
//                                a.不遍历key
<?php
    $user = array(21, "name"=>"vesper", "age"=>18);
    foreach($user as $val) {
        echo "------->".$val."<br>";
    }
?>
//                                b.遍历出key
<?php
    $user = array(21, "name"=>"vesper", "age"=>18);
    foreach($user as $key=>$val) {
        echo $key."------->".$val."<br>";
    }
?>

2.while(){}、list()、each()组合循环遍历
先分别看下list()、和each()能做什么:

//                                list()
<?php
    list($id, $name, $age) = array(21, "vesper", 18);
    echo $name."今年".$age."岁啦!";  //输出:vesper今年18岁啦!
?>
//  1.list() 数组中的每个元素会被赋值给list()中的参数,list()将每个参数zhuan转为变量
//  2.注意数组中的元素个数要与list()参数个数保持一致
//    list(, $name, ) = array(21, "vesper", 18); 这样也是可以的!!!
//  3.list()只能接受索引数组,且按索引下标的顺序,即第一个参数为key第二个参数为value
//                                each()
<?php
    $user = array(21, "name"=>"vesper", "age"=>18);
    $a = each($user);
    print_r($a);  //输出:Array ( [1] => 21 [value] => 21 [0] => 0 [key] => 0 )
    $b = each($user);
    print_r($b);// 输出:Array ( [1] => vesper [value] => vesper [0] => name [key] => name )
?>
// 如上代码:
// 1.each()需要一个数组作为参数
// 2.返回值也是一个数组
// 3.返回的数组 0,1,key,value 四个下标是固定的,其中0和key下标是当前参数数组元素的键,
//   1和value下标是当前参数数组元素的值
// 4.默认当前元素就是第一个元素
// 5.执行一次后当前元素就变为第二个元素,依次类推
// 6.直至最后一个元素执行完后,再执行则返回false

综合以上,结合while循环:

<?php
    $user = array(21, "name"=>"vesper", "age"=>18);
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
?>
// 输出结果
// 0---->21
// name---->vesper
// age---->18

试下下面代码:

<?php
    $user = array(21, "name"=>"vesper", "age"=>18);
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
// 只输出了一次?
// 0---->21
// name---->vesper
// age---->18
?>

使用数组的内部指针:

//  prev(数组)     前移一位
//  next(数组)     后移一位
//  reset(数组)    重置
//  end(数组)      最后一位
//  current(数组)  当前元素的值
//  key(数组)      当前元素的键
<?php
    $user = array(21, "name"=>"vesper", "age"=>18);
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
    reset($user);
    next($user);
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
    reset($user);
    while(list($key, $value) = each($user)) {
        echo $key."---->".$value."<br>";
    }
    reset($user);
    echo current($user)."--------->".key($user);
    /********输出*********
       
        0---->21
        name---->vesper
        age---->18
        name---->vesper
        age---->18
        0---->21
        name---->vesper
        age---->18
        21--------->0

    **********************/
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容

  • 1. 定义 函数是一个被命名的,独立的代码段,它执行特定的任务,并可能给调用它的程序一份返回值。 PHP的模块化程...
    楠哥哥_0b86阅读 628评论 1 2
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,149评论 0 13
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,798评论 0 38
  • 01 我的弟弟南南趁着高考过后回老家一趟,现在他从老家返程回他现在居住的城市,我能想象得到,家里的人是多舍不得他离...
    无非草木阅读 456评论 0 2
  • 我负面心情多 爱恨分明 表面上看着每天都很开心 是因为我怕我的所有负面情绪带给我身边的人 其实 心里就算有在让我难...
    刘剑坤啊阅读 246评论 0 1