• 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;
    	}
    }
    ?>
    

      

    Stay hungry, stay foolish!
  • 相关阅读:
    AI智能检测识别EasyCVR视频融合平台告警抓拍图片的逻辑优化
    状态压缩子集枚举2305. 公平分发饼干
    滑动窗口区间长度最大值6169. 最长优雅子数组
    数学丑数系列
    模拟6170. 会议室 III
    状态压缩1595. 连通两组点的最小成本
    优先队列2386. 找出数组的第 K 大和
    优先队列多路归并系列题解
    滑动窗口解题技巧
    状态压缩1434. 每个人戴不同帽子的方案数
  • 原文地址:https://www.cnblogs.com/JhonKing/p/5647759.html
Copyright © 2020-2023  润新知