本节内容:
php引用
编辑推荐,php引用基础知识:
php引用的实例详解
有关PHP引用的解释
php引用(&)符号详解
php引用传值的详细介绍
通过实例理解php中传值与传引用的区别
PHP中的引用,“&”解释
例子:
<?php
//1.php
//引用传递参数
//局部变量$a和全局变量$x指向同一内存地址
function add(&$a,$b)
{
$a += $b;
return $a;
}
$x=1;$y=2;
$z = add($x,$y);
echo '$x = '.$x.'<br>$y = '.$y.'<br>$z = '.$z;
//2.php
//引用返回
//局部变量$a、全局变量$x、全局变量$z指向同一内存地址
function &add(&$a,$b)
{
$a += $b;
return $a;
}
$x=1;$y=2;
$z = &add($x,$y);
echo '$x = '.$x.'<br>$y = '.$y.'<br>$z = '.$z;
$z+=2;
echo '<br>----$z+=2----<br>';
echo '$x = '.$x.'<br>$y = '.$y.'<br>$z = '.$z;
//3.php
//引用返回
//全局变量$x、全局变量$z指向同一内存地址
function &add($a,$b)
{
global $x;
$a += $b;
$x = $a;
return $x;
}
$x=1;$y=2;
$z = &add($x,$y);
echo '$x = '.$x.'<br>$y = '.$y.'<br>$z = '.$z;
$z+=2;
echo '<br>----$z+=2----<br>';
echo '$x = '.$x.'<br>$y = '.$y.'<br>$z = '.$z;
?>
本节内容:
php翻页链接列表函数
例子:
/**
* 生成页码列表
* @param int $element_total_count 元素总数
* @param int $current_page 当前页
* @param int $per_page_elem_count 每页元素数
* @param int $show_page_num 列表显示的页码数
* @param string $up_down_class 上下翻页样式
* @param string $num_class 当前页页码数字样式
* @param string $href 页面链接
* @param string $page_symbol 传递页码数的链接参数
* @return string
* @site www.
*/
public static function getPageListLink($element_total_count,$current_page=1,$per_page_elem_count=10,
$show_page_num=10,$up_down_,$num_,$href='',$page_symbol='p')
{
if(empty($href)) {
//自动取得剔除页码参数的页面链接
$page_name = basename($_SERVER['PHP_SELF']);
$params = $_SERVER['QUERY_STRING'];
$params_str = '';
if(!empty($params)) {
$params = str_replace()('&', '&', $params);
$params_array = explode()('&', $params);
foreach($params_array as $param) {
if(!empty($param)) {
$index = strpos($param, '=');
if($index) {
$key = substr($param, 0, $index);
if($key && $key != $page_symbol)
$params_str .= $param . '&';
}
}
}
}
if(!empty($params_str))
$href = $page_name . '?' . $params_str;
else
$href = $page_name;
$href = rtrim($href,'&');
}
$prefix = strpos($href,"?") ? "&" : "?";
$prefix .= $page_symbol;
$page_total_count = ceil($element_total_count/$per_page_elem_count);
if(intval($element_total_count)< 1 || !isset()($element_total_count)) {
return '';
}
if($element_total_count <= $per_page_elem_count)
return '';
if($current_page>$page_total_count)
$current_page = 1;
if(strpos($href,"#")) {
$label = substr($href,strpos($href,"#"));
$href = substr($href,0,strpos($href,"#"));
}
/* 生成页码 */
if($current_page > ceil($show_page_num/2)) {
$start = $current_page - ceil($show_page_num/2);
$end = (($current_page+ceil($show_page_num/2))<$page_total_count) ?
$current_page+ceil($show_page_num/2)-1 : $page_total_count;
} else {
$start = 1;
$end = ($show_page_num>$page_total_count) ? $page_total_count : $show_page_num;
}
if(!empty($num_class))
$num_class_str = ' .$num_class.'"';
else
$num_class_str = '';
$page_num_string = '';
for($i=$start;$i<=$end;$i++) {
if(intval($i) == intval($current_page))
$page_num_string .= '<a'.$num_class_str.'>'.$i.'</a>';
else
$page_num_string .= '<a href="'.$href.$prefix.'='.$i.$label.'">'.$i.'</a>';
}
/* 上下翻页 */
$prev_page = (intval($current_page-1)>0)?intval($current_page-1):0;
$next_page = (intval($current_page)<$page_total_count) ? intval($current_page+1) : 0;
if(!empty($up_down_class))
$up_down_class_str = ' .$up_down_class.'"';
else
$up_down_class_str = '';
$page_up_string = '';
if(intval($prev_page) > 0)
$page_up_string = '<a href="'.$href.$prefix.'='.$prev_page.$label.'"'.$up_down_class_str.'>上一页</a>';
else
$page_up_string = '<a'.$up_down_class_str.'>上一页</a>';
$page_down_string = '';
if(intval($next_page) > 0)
$page_down_string .= '<a href="'.$href.$prefix.'='.$next_page.$label.'"'.$up_down_class_str.'>下一页</a>';
else
$page_down_string .= '<a'.$up_down_class_str.'>下一页</a>';
return $page_up_string . $page_num_string . $page_down_string;
}
您可能感兴趣的文章:
PHP分页代码详解(附实例)
分享:一例PHP翻页(分页)类的实例代码
php mysql分页类与调用实例
php mysql分页类(php新手入门)
php与ajax无刷新分页的实现代码(兼容多浏览器)
一个简单的php分页类(入门)
带多种分页方式的php分页类
一个好用的php分页类
你不可错过的一个php分页类(mysql)
一个不错的php分页类的代码
一个分页函数:显示“上一页 下一页”等
有关php分页显示的制作方法
一个实用的php分页类
一个快速好用的php分页类
本节内容:
处理HTML表单控件命名中特殊符号的方法
一、magic_quotes_gpc = Off
html页面:
<input type='text' name=asd/f'gh/a.b.c/>
<input type='submit' value='submit'>
</form>
其中text控件命名为:asd/f'gh/a.b.c/ ,将此页面提交到1.php进行处理,method用get还是post方法无所谓。
1.php
print_r($_GET);
echo '<br>';
print $_GET['asd/f/'gh/a_b_c/']
?>
输入ssssssss点击提交,显示:
ssssssss
总结:input控件命名中的点号变为下划线。
另注:asp中input控件命名中的点号不变,取变量可用:Request.QueryString("asd/f'gh/a.b.c/")。
二、magic_quotes_gpc = On
1.php改为
print_r($_GET);
echo '<br>';
print $_GET['asd/f///'gh/a_b_c/']
?>
提交后显示:
ssssssss
总结:
input控件命名中的点号变为下划线;
并且单引号被自动加上一个反斜线进行转义,所以名字中增加了反斜线,在php中取传递来的值时,要对GET变量名中的反斜线进行转义。