bool define ( string
$name
, mixed $value
[, bool $case_insensitive
= false ] ) 常量名必须使用‘’或者“”引起来,因为他是字符串类型常量声明和判断时必须使用“” ‘’ 输出时可以直接使用常量名
常量的值是不能修改的,一次定义永久使用
1.define('AA',20);
echo AA;
2.const AA='中国人'; php5.3.0以后新加的
echo AA
二、1, isset() 检查变量是否存在
$i='你好';
if(isset($i)){
echo '定义了变量';
}else{
echo '没有定义变量';
}
2, defined() 检查常量是否存在
!defined('AA') && exit('程序终止');
define('AA',80);
if(defined('AA')){
echo '定义了常量';
}else{
echo '没有定义常量';
}
3,empty()如果$i未定义或者$i=0;或者null ‘’空字符串 都是真,否则都为假
$i=1;
if(empty($i)){
echo '$i为空';
}else{
echo '$i不为空';
} //结果为$i不为空
三、exit(); exit; exit('程序停止执行');
都表示程序自此后终止执行
四、魔术常量
单双引号的使用
$age=20;
$str1='php-$age';//纯字符串
//echo gettype($str1);
echo $str1;
$str2="pdsjf-$age";//输出值,不引用变量直接输出hello就用''
//echo gettype($str2);
echo $str2;
数组
有下标的根据下标输出值,没有下标的从0开始
echo<pre>
echo $ar1['sn'];//一定要加单引号,不加错误,面试题
echo </pre>
$ar1=array('sn'=>'李四','赵六','张三丰',200=>'李勇','丽丽');
echo $ar1[1];
echo $ar1['sn'];//一定要加单引号,不加错误,面试题
echo $ar1[201];
索引数组 让数组索引健,以数字的形式自动分配,这样的数组叫索引数组
$arr1= array(10,20,30);
关联数组 =>为关联号
$arr2=['hn'=>'河南','bj'=>'北京','sh'=>'上海']; php5.4以后支持
gettype()打印输出数组的类型
echo gettype($arr1),gettype($arr2);
打印输出所有数组中的值
方法一:用的多
foreach($arr2 as $v){ //用的多
echo $v.'<br>';
}
方法二:
for($i=0;$i< count ($arr1);$i++){
echo $arr1[$i].'<br>';
}
key为键数组下标索引键,可以是整型integer数字也可以是字符串string value为数组的一个值,可以为任意类型
foreach($arr2 as $k=>$v){
echo $k.'=='.$v.'<br>';
}
print_r打印输出数组的结构
print_r($ar1);
最常用的数组遍历输出方式,foreach 循环语句
foreach($ar1 as $k=>$v){
//echo $v.'<br>'; //输出值
echo $k.'==>'.$v.'<br>';
//echo $k.'<br>'; // 输出下标 $v=>$k 可以换位置
}
is_array($r);判断是不是数组
echo is_array($r) ? '是数组' :'不是数组';
in_array('a',$r);判断a是否在$r里面
echo in_array('a',$r) ? 'a在数组中' : 'a不在数组中';
range()划分区间快速生成数组
1为间隔 ,可以为2,3,4.......
$arr=range('a','z',1);
print_r($arr);
explode()将字符串按符号(,)拆分成数组,不建议使用
$str='a,b,v,d';
$arr=explode(',',$str);
print_r($arr);
implode() 将数组根据分割符号,组合成字符串
$str=array(1,5,6,3);
$arr=implode('-',$str);
echo $arr;
获得点击的路径从何而来 面试题
echo $_SERVER['HTTP_REFERER'];
[HTTP_REFERER] => http://localhost/aa.html
select count(*) from log where rel like ’%baidu%‘;
echo '<pre>';
print_r($_SERVER);
从数据库中读取点击的连接客户是从哪个网站进来的
$from = isset($_SERVER['HTTP_REFERVER']) ? $_SERVER['HTTP_REFERVER']:0;//0表示直接打开
echo $from;
//insert into log values($from,时间);
select count(*) from log where rel like ’%baidu%‘;
[SERVER_NAME] => localhost 获得域名 [SERVER_ADDR] => 127.0.0.1 获得服务器的ip地址 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 客户id
echo $_SERVER['SERVER_NAME'].'<br>'; echo $_SERVER['SERVER_ADDR'].'<br>'; echo $_SERVER['SERVER_ADDR'].'<br>';全部要求大写
$a=$_SERVER; echo $a['REMOTE_ADDR']; 可以这样写最好不要这样用,容易造成变量混乱