PHP基础2

/* PHP弱类型语言:数据类型,由存储值决定 (比如:瓶子:酱油,醋,酒等) 
 * C ,java 强类型语言:必须声明变量类型(酒瓶)
 */
$userName ='rose';
$age = 18;
$sex = '男';
$addr = '北京';
$salary = 8888.88;
$married = true;  // true false
var_dump($userName,$age,$sex,$addr,$salary,$married);
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
// 整型(Integer Int)
$int = 20;
var_dump($int);//int(20)
echo '<br/>';
$int = -28;
var_dump($int);//int(-28)
echo '<br/>';
// 二进制(0b开头)
$int = 0b0111;
echo $int;//7
/* 二进制转为十进制(从右往左算)
 * 0111 = 1*2^0 + 1*2^1 +1*2^2 +0*2^3=7
 *
 * 456  = 6*10^0 + 5*10^1 +4*10^2 = 456
 */
echo '<br/>';
// 八进制(0开头)
$int = 056;
echo $int;
/* 八进制转为十进制
 *056 =  6*8^0 +5*8^1 =6+40 = 46
 */
echo '<br/>';
// 十六进制(0x开头)
$int = 0x123;
echo $int;
/*十六进制转为十进制
 *056 =  3*16^0 +2*16^1 +1*16^2=3+32+256=291
*/
echo '<hr/>';
/*b.整型的最大值与操作系统有关系
    PHP_INT_MAX 看最大值,
        超出最大值会产生溢出  */

echo PHP_INT_MAX;
echo '<br/>';
$int = 2147483647;/*
    4字节 4Byte(2^32) 
    1024B = 1KB
    1024KB =1MB
 */
var_dump($int);//int(2147483647)
echo '<br/>';
$int = $int +1;
var_dump($int);//float(2147483648)溢出了
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
$float = 45.78;
var_dump($float);//float(45.78) 
echo '<br/>';
$float = -45.78;
var_dump($float);//float(-45.78) 
echo '<br/>';
// 科学计数法( e或 E)
$float = 2.1e2;
var_dump($float);//210
echo '<br/>';
$float = 2.1e-2;
var_dump($float);//0.021
echo '<br/>';
/* c.PHP中浮点型存近似值,所以不要对
           浮点型进行比较  */
var_dump((0.1+0.7)*10==8); //7.99999!=8不稳定直接就是不相等的
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
$married = true;
var_dump($married);//bool(true) 
echo '<br/>';
echo $married;// '1'
echo '<hr/>';
$married = false;
var_dump($married);//bool(false) 
echo '<br/>';
echo $married;//空字符串''
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
// 单引号和 双引号的区别
// (a)双引号能解析变量,而单引号不解析变量
$username = 'tom';
echo '用户名是:',$username;
echo '<br/>';
echo '用户名是:$username';
echo '<br/>';
echo "用户名是:$username";
echo '<br/>';
echo '<hr/>';
/*(b)双引号能解析所有的转义字符,单引号只能
     解析 \' 和 \\  */
/*转义字符(在源码中的特殊符号)
          \' 单引号
          \" 双引号
          \n 换行
          \r 回车
          \t 水平制表符
          \v 垂直制表符
          \\ 反斜杠
*/
echo 'this is a \n test<br/>';
echo "this is a \n test<br/>";
echo 'this is a \\ test<br/>';
echo "this is a \\ test<br/>";
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
/*(a)W3C规定在浏览器中看到特殊符号必须用
  HTML实体,PHP中也必须用HTML实体实现  
  D>A B<C
  Tom & Jerry
  he said "this's a test" 
*/
$str = 'D&gt;A B&lt;C
  Tom &amp; Jerry
  he said &quot;this&#39;s a test &quot;';
echo $str;
echo '<hr/>';
/*(b)在源代码中用转义字符,在PHP中当单引号和 
 * 双引号冲突时用转义字符  */
echo '<a href="#">链接</a><br/>';
echo '<br/>';
echo '<a href=\'#\'>链接</a><br/>';
echo '<br/>';
echo "<a href=\"#\">链接</a><br/>";
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
$str = 'abcdefg';
// (a)编号从零开始,{} 还可以用[]替代
// 获得 一个字母 c;(查)
echo $str{2};
echo '<br/>';
// 获得 一个字母 f;(查)
echo $str[5];
echo '<br/>';
//将  字母d 改为 t (改)
$str{3} = 'twz';
echo $str;
echo '<br/>';
// 将字母a 删除(改变形)
$str{0} ='';
var_dump($str);
echo '<br/>';
// 在$str 最后添加一个字母 z(添加)
$str{7} ='zabc';
echo $str;//bctefgz
echo '<br/>';
// (b)当编号大于字符长度,用一个空格填补
$str{20} ='w';
var_dump($str);//string(21) "bctefgz w"
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
// 数组(Array)
//空数组(没成员值的数组)
$arr = array();
var_dump($arr);
echo '<br/>';
// 有值的数组
$arr = array('a','b','c');
var_dump($arr);
echo '<br/>';
print_r($arr);
echo '<br/>';
//  echo可以输出数组中的某一值 b
echo $arr[1];
echo '<hr/>';
// 对象(Object)
$obj = new stdClass();
var_dump($obj);//object(stdClass)#1 (0) { }
echo '<hr/>';
// 资源类型(Resource)
$handle = fopen('02_string.php','r');
var_dump($handle);//resource(3) of type (stream)

echo '<hr/>';

//a.声明变量并且赋NULL或null
$null = NULL;
var_dump($null);
echo '<br/>';
//b.声明变量但未赋值
$null2;
var_dump($null2);
echo '<br/>';
//c.unset()删除变量中的值
$var ='hello';
var_dump($var);//string(5) "hello" 
unset($var);
var_dump($var);//NULL
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
// 数组(Array)
//空数组(没成员值的数组)
$arr = array();
var_dump($arr);
echo '<br/>';
// 有值的数组
$arr = array('a','b','c');
var_dump($arr);
echo '<br/>';
print_r($arr);
echo '<br/>';
//  echo可以输出数组中的某一值 b
echo $arr[1];
echo '<hr/>';
// 对象(Object)
$obj = new stdClass();
var_dump($obj);//object(stdClass)#1 (0) { }
echo '<hr/>';
// 资源类型(Resource)
$handle = fopen('02_string.php','r');
var_dump($handle);//resource(3) of type (stream)

echo '<hr/>';

//a.声明变量并且赋NULL或null
$null = NULL;
var_dump($null);
echo '<br/>';
//b.声明变量但未赋值
$null2;
var_dump($null2);
echo '<br/>';
//c.unset()删除变量中的值
$var ='hello';
var_dump($var);//string(5) "hello" 
unset($var);
var_dump($var);//NULL
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
$var = 12;
echo $var +5.5;//17.5
echo '<br/>';
echo $var +'5.5';//17.5
echo '<br/>';
echo $var +'abc5.5';//12
echo '<br/>';
echo $var +'5.5abc';//17.5
echo '<br/>';
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
/*其它类型转为整型和浮点型
 *a.合法的数字字符串,除了 . e E外并且
        没超过整型的最大范围转为整型,否则
        转为浮点型
 用加法举例
*/
echo 8 + '9'; //17
echo '<br/>';
echo 8 + '9.7'; //17.7
echo '<br/>';
echo 8 + '2e2';//208
echo '<hr/>';
/* b.非合法的数字字符串,如果以数值开头转该
数值,如果以字母开头转为0  */
echo 8 + '1abc'; //8+1=9
echo '<br/>';
echo 8 + 'hello9';//8+0=8
echo '<br/>';
echo 8 + '4.8.9.3.4';//8+4.8=12.8
echo '<br/>';
echo 8 + '1e3abc';//1008
echo '<br/>';
echo 8 + 'e3';// 8+0=8
echo '<br/>';

/* c.布尔类型,true 转为1,false 转为0
   d.null 转为 0
   e.空字符串 转为 0  */
echo '<hr/>';
echo 8 + true; // 9
echo '<br/>';
echo 8 + false; // 8
echo '<br/>';
echo 8 + 'true';// 8+0=8
echo '<br/>';
echo 8 + null;//8
echo '<br/>';
echo 8 + '';//8
echo '<br/>';

echo '<hr/>';

echo 13.7 + '2true' +true +null;
//  13.7 + 2 + 1 +0 =16.7
echo '<br/>';
echo 13.7 + '-2e1' + 'true9' + 'null5';
//  13.7 -20 + 0+ 0 =-6.3
echo '<br/>';
echo 13.7 + '6false' + '' +'8.6.5.4' + false;
//  13.7 +6 +0 +8.6+0 =28.3
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
/*其它类型转为字符型
 * 用 echo输出 举例,在输出之前转为字符串   
 *  a.整型和浮点型转为数值本身
 */
echo 28;  // '28'
echo '<br/>';
echo 4.78; // '4.78'
echo '<br/>';
/*b.布尔类型转为字符型 true 转为'1', 
 * false转为空字符串  */
$married = true;
echo $married; // '1'
echo '<br/>';
$married = false;
echo $married; //空字符串

echo '<hr/>';
// c.null转为字符型 空字符串
echo 'A',null,'B'; //AB
echo '<br/>';
echo 'A','null','B';//AnullB
echo '<br/>';
echo 'A',true,'B';//A1B
echo '<br/>';
echo 'A','true','B';//AtrueB
echo '<br/>';
echo 'A',2e3,'B';//A2000B
echo '<br/>';
echo 'A','2e3','B';//A2e3B
echo '<br/>';
echo 'A','7true','B';//A7trueB
echo '<br/>';
echo 'A','null7','B';//Anull7B
echo '<br/>';
echo '<hr/>';
//d.数组转为字符型 Array字符串
$arr = array('a','b','c');
echo $arr;//echo 只能是一个一个输出,不能够打印整个的数组出来
echo '<br/>';
//e.资源转为字符型 Resource id #数字 字符串
$handle = fopen('02_string.php','r');
echo $handle;
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
// 强制转换 --临时转换
/*整型 (integer)$var|(int)$var
 浮点型 (float)$var|(double)$var|(real)$var
布尔型 (boolean)$var|(bool)$var
字符型(string)$var
数组 (array)$var
对象(object)$var
NULL  (unset)$var
*
*/
 $int = 20;
 $float = 16.78;
 $bool = true;
 $str = 'hello';

 // 将$bool 转为 整型
 var_dump((int)$bool);
 echo '<br/>';
 var_dump((integer)$bool);
 echo '<br/>';
 var_dump($bool);//变量本身没变化
 echo '<hr/>';
 // 将 $str转为浮点型
 var_dump((float)$str);
 echo '<br/>';
 var_dump((double)$str);
 echo '<br/>';
 var_dump((real)$str);
 echo '<br/>';
 var_dump($str);//变量本身没变化

 echo '<hr/>';
 var_dump((int)$float);//向下取整,16
 echo '<br/>';
 var_dump((float)$int);//20

 echo '<hr/>';
 /*b.类型转换函数
          整型intval()
          浮点型  floatval()|doubleval()
          布尔型  boolval() -- PHP5.5以上
           字符型  strval()
 */
 var_dump(intval($float));
 echo '<br/>';
 var_dump(floatval($bool));
 echo '<br/>';
 var_dump(doubleval($bool));
 echo '<br/>';
 var_dump(strval($int));
 echo '<br/>';
 var_dump($int);//变量本身没变化
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
// 强制转换-永久转换
/*settype: 设置变量的类型
   bool settype ( mixed &$var , string $type )
      成功返回true 失败返回false 
 */
$int = 20;
$float = 16.78;
$bool = true;
$str = 'hello';
// 将 $bool 永久转换为 整型
settype($bool,'int');
var_dump($bool); // 变量本身发生变化
echo '<br/>';
settype($float,'string');
var_dump($float);
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
//要求双引号输出形如结果 :aliceabc
$userName567 = 'alice';
echo "{$userName567}abc";

echo '<br/>';
// (1)其它类型转为整型和浮点型 
echo 7.45 + 'true' +null +'3false' +'e9';
//   7.45 +0 +0 + 3 +0;=10.45
echo '<br/>';
echo 8.9 + '-1e1' +'7null' +'' +'-5.7.8.8';
//  8.9 -10 +7+0 -5.7=0.2
echo '<br/>';

//(2)其它类型转为字符型
echo '#',1e2,true,'#';
// #1001#
echo '<br/>';
echo '#','1e2','true','#';
//#1e2true#
echo '<br/>';
//(3)其它类型转为布尔型
   if('0false'){//true
     echo 'ok';
   }else{
     echo 'error';
   }
   if('true5'){//true
      echo 'ok';
   }else{
     echo 'error';
   }
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
$int = 20;
$bool = true;
$float = 56.7;
$str1 = 'abc';
$str2 = '12.5';//合法的数值字符串
$str3 = '6.7.8.8';
$arr = array('a','b');
var_dump(is_integer($int));//true
echo '<br/>';
var_dump(is_int($int));//true
echo '<br/>';
var_dump(is_long($float));//false
echo '<hr/>';
//(9)is_numeric
//描述:  检测变量是否是数值(整数,浮点,合法的数值字符串)
var_dump(is_numeric($int));//true
echo '<br/>';
var_dump(is_numeric($float));//true
echo '<br/>';
var_dump(is_numeric($str1));//false
echo '<br/>';
var_dump(is_numeric($str2));//true
echo '<br/>';
echo '<hr/>';
var_dump(is_numeric($str3));//false
echo '<hr/>';
//(10)is_scalar
//描述:  检测变量是否是标量(整数,浮点,布尔,字符串)
var_dump(is_scalar($int));//true
echo '<br/>';
var_dump(is_scalar($str1));//true
echo '<br/>';
var_dump(is_scalar($arr));//false
echo '<br/>';
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
//正号(+) 负号(-)  + - * /

echo +5;
echo '<br/>';
echo -5;
echo '<br/>';
echo 5 + 8;
echo '<br/>';
echo 5 - 8;
echo '<br/>';
echo 5 + 8;
echo '<br/>';
echo 8 / 5;
echo '<br/>';
//  % 取余数

echo 8 % 5; // 被除数%除数 = 余数
echo '<br/>';
echo 11 % 20; //11
echo '<br/>';
// a.算术运算符求的是整数余数,向下取整
echo 9.9 % 4.5; // 9 % 4 =1
echo '<br/>';
// b.取余数符号运算与被除数一致
echo -9.9 % 4.5; // -1
echo '<br/>';
echo -9.9 % -4.5; // -1
echo '<br/>';
echo 9.9 % -4.5; // 1
echo '<br/>';
//c.fmod 实现求浮点数的余数
echo fmod(9.9,4.5); // 9.9%4.5 =0.9
echo '<br/>';
echo fmod(-9.9,4.5); // -0.9
echo '<br/>';
echo fmod(-9.9,-4.5); // -0.9
echo '<br/>';
echo fmod(9.9,-4.5); // 0.9
echo '<hr/>';

echo 8.5 % 3.5; // 8 % 3 =2
echo '<br/>';
echo -8.5 % 3.5; // -2
echo '<br/>';
echo -8.5 % -3.5; // -2
echo '<br/>';
echo 8.5 % -3.5; //2
echo '<br/>';
echo 33 % 50; // 33
echo '<br/>';
echo 15 % 6;  // 3
echo '<br/>';
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
/*b. 前缀形式:变量先自身加1或减1,后执行语句
     后缀形式:先执行语句,变量后自身加1或减1
 */
$a = 5;
$b = 9;

echo ++$a; //6
echo '<br/>';
echo $b++; //9
echo '<br/>';
echo $b; //10
echo '<hr/>';
$a = 1;
$b = 2;
$a++;
$c = $b++; // 先将当前$b值赋值给$c,然后自增
$b++;
echo $a,$b,$c.'<br/>';//2,4,2
$x = 3;
$y = 4;
$x--;
$y --;
$z = $y--; // 当前 $y=3值赋值给$c,然后自减
$x--;
$y--;
echo $x,$y,$z;//1,1,3
echo '<hr/>';
// (b)布尔值是否支持自增自减--不支持自增自减
$bool = false;
echo '$bool'.++$bool;// 0 不支持自增,false,打印出来直接是空白的
echo '<br/>';
$bool = true;
echo --$bool;// 1 不支持自减
echo '<hr/>';
// (c)null是否支持自增自减--支持自增不支持自减
$null = NULL;
echo ++$null;// 1支持自增
echo '<br/>';
echo ++$null;
$null = NULL;
echo '$null'.$null;//null打印出来也是空白的
echo '<br/>';
echo --$null; //空字符串 不支持自减

echo '<hr/>';
// (d)字符型支持自增不支持自减
/*  ASCII码  
 *  ord:返回字符的ASCII码 值
 *  ord('c') --> 99
 *  chr:返回ASCII码的字符
 *  chr(100) -->d
 */
$var = 'c';
echo ++$var; // d 支持自增
echo '<br/>';
$var = 'c';
echo --$var;//c 不支持自减  
$var = 'z';
echo '<br/>';
echo ++$var; //aa
$var = 'Z';
echo '<br/>';
echo ++$var; //AA
$var = '9z';
echo '<br/>';
echo ++$var; //10a
$var = 'z9';
echo '<br/>';
echo ++$var; //aa0
echo '<hr/>';
$a = 5;
$b = true;//不支持自增自减
$c = null;//支持自增不支持自减
$a++;
$b++;
$c++;
$z = $a +$b +$c++; // 6+true+1=8
$b++;
echo $a,$b,$c,$z;//6,true=1,2,8,6 1 2 8

echo '<hr/>';

$x = 7;
$y = true;//不支持自增自减
$z = '9a';//支持自增不支持自减
$x++;
$y++;
$z++;
$k = $x +$y +$z++;// 8+true+'9b'=18
$x++;
$z--;
echo $x,$y,$z,$k;//9,true=1,9c,18

echo '<hr/>';

$a = 12;
$b = true;// 布尔值不支持自增自减
$c = '7z';// 字符串支持自增不支持自减
$d = null;// null支持自增不支持自减
$a--;
$b--;
$c--;
$d--;
$e = $a +$b +$c +$d++;// 11+true+'7z'+null
$d++;//2
$d--;//1
echo $a,$b,$c,$d,$e;//11,true=1,7z,1,19
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
$a = 'hello';
$b ='world';
// 输出 形如 : hello - world
echo $a,'-',$b; // 测试输出
echo '<hr/>';
// 字符(连接)运算符:(符号: .)
// 将字符串结果赋给变量 $link,一个整体 
$link = $a.'-'.$b;
echo $link;
echo '<hr/>';
// 输出形如 one|two|three 字符串
// 将字符串结果赋给变量 $link输出
$a ='one'; 
$b='two'; 
$c='three';
$link = $a.'|'.$b.'|'.$c;
echo $link;
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
//赋值运算符: =
$var = 15;  //赋值运算符右结合(从右往左结合)
echo $var;
echo '<br/>';
echo  8 + 7; // 左结合(从左往右结合)
echo '<hr/>';
//+= -= *= /= %=
$var = 8;
$var += 5;//+=效率高  ;$var = $var +5;
echo $var;
echo '<br/>';
$var = 8;
$var -= 5;//-=效率高  ;$var = $var -5;
echo $var;
echo '<br/>';
$var = 8;
$var *= 5;//*=效率高  ;$var = $var *5;
echo $var;
echo '<br/>';
$var = 8;
$var /= 5;// /=效率高  ;$var = $var /5;
echo $var;
echo '<br/>';
$var = 8;
$var %= 5;//%=效率高  ;$var = $var % 5;
echo $var;
echo '<hr/>';
$str ='
    <ul>
      <li>one</li>
      <li>two</li>
      <li>three</li>    
    </ul>   
    ';

echo $str;
// .= 字符串累连接
$a = 'blue';
$b ='red';
$c = 'green';
$link ='';//初始值
$link .='<ul>'; // $link = $link.'<ul>';
$link.='<li>'.$a.'</li>';
$link.='<li>'.$b.'</li>';
$link.='<li>'.$c.'</li>';
$link.='</ul>';
echo $link;
echo '<hr/>';
/* 用 .= 输出  
 * 3行 3列的表
 * 内容 : $var ='xxx';
 */
$var = 'xxx';
$link ='';
$link .='<table>';
$link .='<tr>';
$link .='<td>'.$var.'</td>';
$link .='<td>'.$var.'</td>';
$link .='<td>'.$var.'</td>';
$link .='</tr>';
$link .='<tr>';
$link .='<td>'.$var.'</td>';
$link .='<td>'.$var.'</td>';
$link .='<td>'.$var.'</td>';
$link .='</tr>';
$link .='<tr>';
$link .='<td>'.$var.'</td>';
$link .='<td>'.$var.'</td>';
$link .='<td>'.$var.'</td>';
$link .='</tr>';
$link .='</table>';
echo $link;
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
/*比较运算符: > >= < <= 
            ==(等于) 
            != <>(不等于)
            ===(全等于) !==(不全等于) 
 */
var_dump(
   'a' >'a', //false 1>1 false
   'a' >='a', // true
   'a' < 'a', //false
   'a' <='a',  //true
   'a' =='a', //true 只有值等就可以
   'a' !='a',//false
   'a' <>'a',//false
   'a'==='a',//true :值和类型都等
   'a'!=='a' // false: !==值和类型都等为false
             // !==为true情况:
             // 1.值等类型不等,2.值不等类型等,3值和类型都不等  
);

echo '<hr/>';
/*(a)字符串或null 跟字符串的比较
           null 转为空字符串,按数值比较和单词
                       比较,如果是数值和字母比较按ASCII
                       码比较*/
var_dump(
  '80' >'33', //true
  'f' >'b', // true
  'tf'>'td', //true 按位比较
  'ab'>'99b', //true a >9 的ASCII码
  '30'>'n',// false   3 >n 的ASCII码
  '-60' >'30',//false    -60 >30 
  'true'>'false',//true  t>f 
  '9null'>'null',//false  9<n的ASCII码
  null =='',    //true  值等
  null ==='',   //false 值等类型不等
  null !=='',    //true  !==值等类型不等
  'b' >'', //true 1>0
  9 >''   // true 1>0
);
echo '<hr/>';
/*(b)布尔值或null跟其他类型的比较按布尔值比较
     true > false  
 * 
 */
var_dump(
  true > 6, //false     true>true
  true > '0',//true     true >false
  true >'0.0',//false   true>true
  true >0.00,  //true    true >false
  true >'null', //false   true >true
  true >null, //true     true>false 
  true >'',  //true          true>false
  true >'0false',//false   true>true
  false===false, //true
  false!==false,  //fasle
  0 ==false, //true 值等就可以
  0 ===false, //false 值等类型不等
  0 !=false, //false
  0!==false,  //true
  1 !=false,  //true
  1!==false   //true
);
echo '<hr/>';
// (c)数值或字符串跟数值按数值比较
var_dump(
  30 > '45ab',  //false   30>45
  17 > 'true9',  //true   17>0
  1 >'4.5.6.7',  //false       1>4.5
  1e2 >'e3',   //true   100>0
  4.5 >'2e1',  //false       4.5>20
  20 >'17.5'   //true    20>17.5
);
if('0false'){//这个是真的,只有在进行计算的时候才会转成数字相加减
    echo '0false是真的';
    echo '<br/>';
    echo '0false';
}else{
    echo '0false是假的';
}
-------------------------------------------------------------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
/*e.===(全等于) 和!==(不全等于)严格比较的使用
    原理:PHP是弱类型语言 ,根据程序运行环境
            自动转换,比如 0,0.0 '0'"0"会自动转换为
      false,为了避免自动转换产生的错误,要有
      ===(全等于) 和!==(不全等于)解决  */
/* strpos:查找子字符串在字符串中首次出现的编号位置
 * 格式:mixed strpos ( string $haystack
 *  , mixed $needle [, int $offset = 0 ] )
 *  成功返回编号位置,失败返回 false
 *  编号从0开始
 */
 $var ='abcdef';
 echo strpos($var,'a');//0
 echo '<br/>';
 echo strpos($var,'e');//4
 echo '<br/>';
 echo strpos($var,'z');//false
 echo '<hr/>';
 $str ='hellowrold';
 // 在$str 中查找h 如果存在输出 ok,否则输出error
 //===(全等于) 和!==(不全等于)严格比较
 //将 0和false区分开
 if(0!==false){//产生错误: 0自动转为false
    echo 'ok';      // false!==false --fasle
 }else{             // 0!==false    --true
    echo 'error';   // 2!==fasle    --true
 }
 echo '<br/>';
 if(strpos($str,'h')===false){//产生错误: 0自动转为false
    echo 'error';   // false===false --true
 }else{             // 0===false     --false
    echo 'ok';      // 2===fasle    --false
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值