php知识盲点

来源:互联网 发布:tcp多线程网络编程 编辑:程序博客网 时间:2024/05/17 03:29
//地址引用
function timeTwo(&$int){    $int = $int *2;}$int = 2;timeTwo($int);
var_dump($int); //int(4)
//地址引用问题var_dump(1 % 2);$arr = array(1, 2, 3);foreach($arr as &$val){   echo $val.'#<br />';   $val += $val % 2 ? $val++ : $val--;   echo $val.'@<br />';}$val = 0;//赋值的是数组最后一个值的地址print(join(' ', $arr));


//三目运算符,从左向右执行
$x = 2;echo $x == 2 ? '我' : $x == 1 ? '你' : '他';


//比较运算,类型转化
var_dump('1' == 1);//truevar_dump('01' == 1); //truevar_dump('1d' == 1); //true  如果字符串以合法的数字数据开始,就用该数字作为其值,var_dump('1e3' == 1000); //true var_dump('a' == 0); //如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。

//对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多//维数组中的数组的元素个数。$a = count ("567")  + count(null) + count(false);echo count ("567").'#'.count(null).'#'.count(false).'#'.$a;//1#0#1#2

//赋值运算从右到左if($a = 100 && $b = 200) {    var_dump($a,$b); //bool(true) int(200)}$a = 3;$b = 5;
// ||运算符,当前面一个条件为真时,即返回,后续不再执行if($a = 5 || $b = 7) {var_dump($a, $b);    $a++;var_dump($a);    $b++;}echo $a . " " . $b;//++$x在前先让变量自增在返回变量的值//$x++先返回变量的值在自增$x = 1;echo '#'.++$x.'#'.$x++.'#'.$x;echo "<br />";for($i = 0; $i < 5;){echo $i . '#<br />';    //$i++;echo $i++ . '@<br />';}

//printf()返回值
$i=11;printf("%d",$i); //11echo '<br />';printf("%d",printf("%d",$i)); //112echo '<br />';printf("%d\n",printf("%d",printf("%d",$i)));//执行后返回打印字符的长度  1121

//特殊情况,实际存储的值是7.9
echo intval((0.1+0.7)*10); // 7



原创粉丝点击