工作中积累的一些验证基础知识的测试代码(以后不定期更新)

工作中的突然想到的问题做的验证,不是什么高深的东西,以后想到还会贴出来,方便自己查看
<?php
//测试empty对从未定义过的参数的输出.
echo empty($aaaa)?0:1;exit; //结果:输出0
//***********************************************
//测试数组内key是否分大小写
$arr['abc']='1';
echo 'output: '.$arr['ABC'];exit; //结果:区分大小写
//***********************************************
//测试变量的作用域
$a = 1;
function foo(){
	echo isset($a)?$a:0; //0
	//$a = 'abc';
	exit;
}
foo();
//***********************************************
//isset()对设置为null的值的反应
$a=null;
echo isset($a)?1:0;//0
//***********************************************
//测试if中定义变量是否可以用于if体外
function foo(){
	if(true){
		$i = 1;
	}
	echo isset($i)?$i:'n';exit;
}
foo(); //1
//结论:if体内定义的变量可以用于体外
//***********************************************
//测试for中定义变量是否可以用于for体外
function foo(){
	for($i=0;$i<4;$i++){
		echo $i.'<br>';
	}
	echo '$i= '.$i; //$i= 4
	exit;
}
foo();
//结论:可以用于体外
//***********************************************
//测试key=>value型数组的key是否可以用变量替代
$name = 'aaa';
function foo($n){
	$arr['aaa'] = 'aaabbbccc';
	return $arr[$n];
}
//echo foo($name);exit;//aaabbbccc
//***********************************************
//测试取模
echo (0%2).'<br>';//0
echo (1%2).'<br>';//1
echo (2%2).'<br>';//0
echo (3%2).'<br>';//1
//***********************************************
//测试class中的变量范围
class test{
	public $t = 0;
	public function foo(){
		$this->t = 1; 	//①
		$t = 1; 		//②
	}
	
}
$demo = new test();
$demo->foo();
echo $demo->t;//①时:1; ②时:0;
//结论:改变class内属性需要加$this->, 否则只是和class属性同名的局部变量
//***********************************************
//测试PHP的除法是否四舍五入
	echo (11/2).'<br>';//5.5
	echo ceil(11/2); //6
//***********************************************
//测试PHP类型转换
$a = 111;
$a['abc']='xxx';
var_dump($a);//int(111)
echo $a;//111
echo '<br>';
//=============
$b = null;
$b['abc']='xxx';
var_dump($b);//array(1) { ["abc"]=> string(3) "xxx" }
echo $b;//array
echo '<br>';
//=============
$c=111;
$c='ccc';
echo $c; //ccc
echo '<br>';
//=============
$d = 'ddd';
$d = 444;
var_dump($d);//int(444)
echo '<br>';
//=============
$e = 'eee';
$e['abc'] = 'yeye11';
var_dump($e);//yee?
echo '<br>';
//=============
$f = 123;
$f = array();
$f['abc'] = 'fff';
var_dump($f);//fff
echo '<br>';
//结论: 不等于null的非数组变量转变为数组时首先要使用array()才能正常使用!
//***********************************************
//测试数据库取得数据
$con = mysqli_connect("218.168.168.5", "test2", "test2");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from f_user_info ";
$result = mysqli_query($sql,$con);
print_r(mysql_fetch_row($result));

mysql_close($con);
//***********************************************
//取得一周前的日期
$today = date('Y-m-d');
$t = strtotime($today);
$l = $t - 7*3600*24;
$last = date('Y-m-d', $l);
echo $last; //取得一周前的日期成功
//***********************************************
//测试trim()去除逗号
$test = ',1,2,3,';
$test = trim($test, ',');
echo $test;exit;
//***********************************************
$arr = array();
for($i=0; $i<4; $i++){
	for($j=0; $j<3;$j++){
		$arr[$i][]=$i.$j;
	}
}
var_dump($arr);
//***********************************************
//测试rename函数的移动数据功能
rename("E:/222.png", "E:/ccc/222.png"); //成功
//***********************************************
//测试带零的string做算术是否自动转换类型
$str = '010';
echo $str -1; //9
$str = '02';
echo 10-$str; //8
//能够自动转换类型
//***********************************************
//***********************************************
//测试foreach遍历null时是否会报错
foreach (null as $a){
	echo 'in';
}
//结果:不报错,页面不输出任何值
//结论:null被foreach遍历不会报错
//***********************************************
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值