php学习笔记(二)

 

1、php的switch比较特别,支持字符串等其他基础类弄。

    function dump_array($var)
	{
		switch(gettype($var)){
			case 'integer':
			case 'double':
			case 'string':
				echo $var;
				break;
			case 'array':
				echo '<table border="1">';
				do{
					echo '<tr><td align="left" valign="top">';
					echo key($var);
					echo '</td><td>';
					dump_array($var[key($var)]);
					echo '</td></tr>';
				} while (next($var));
				echo '</table>';
				break;
			default:
				echo 'Unknow data type.';
				break;
		}
	}

  

2、面向对象

  2.1 php对 对象的支持并不完整,例如不能充分使用多态性,以执行一个被覆盖的父类中的函数。

  2.2 php不能有同一个对象的两个引用,当将一个引用赋值给第二个变量时,对像被复制一份,新的引用指向复制品。

 

3、url 参数都应使用 rawurlcode()函数转换编码,否则容易出现非法值而引起崩溃

  使用rawurlcode编码后,接收时,解码过程是自动的。

 

4、php 与 html混编

  php中,在函数调用前加上@可以强制不输出里面相应的警告和错误信息。

  以下是一个混编的mysql数据库连接页。

<?php
	require ('common.inc');
	require ('post_get_arr.inc')
?>
<?php
	if(empty($arr_request['username']))	{
		$username = 'root0';
	}
	else{
		$username = $arr_request['username'];
	}
	if(empty($arr_request['password']))	{
		$password = '123456';
	}
	else{
		$password = $arr_request['password'];
	}
	
	$id_link = @mysqli_connect('localhost' , $username , $password);
	if (!$id_link){
		affy_message(
		"The connection to the local database has failed. Please
		enter a username and password so a connection can be made."
		);
?>
<!-- Display a form to gather username and password info -->

<form action="connect_db.php" method="post">
<table>
<tr>
	<td>Username</td>
	<td><input type="text" name="username" value="root"></td>
</tr>
<tr>
	<td>Password</td>
	<td><input type="password" name="password"></td>
</tr>
<tr>
	<td colspan="2">
		<input type="submit" value="Connect to Database">
	</td>
</tr>
</table>
</form>
	<?php exit; } ?>
<p> The connect was successful!</p>

  

5、可以在php调用的最前面,调用这些代码,将get 和 post 参数统一放到数组中

<?php
//post and get value
$arr_request = array();
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
if (count($HTTP_GET_VARS)){
	while(list($key , $value) = each($HTTP_GET_VARS)){
		$arr_request[strtolower($key)] = $value;
	}
}

if (count($HTTP_POST_VARS)) {
	while (list($key, $value) = each($HTTP_POST_VARS)){
		$arr_request[strtolower($key)] = $value;
	}
}
?>

  

posted @ 2016-07-06 18:25  JohnKing_  阅读(151)  评论(0编辑  收藏  举报