shuffle() 函数把数组中的元素按随机顺序重新排列。
若成功,则返回 TRUE,否则返回 FALSE。
注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成
<?php教程
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
shuffle($my_array);
print_r($my_array);
?>
下面看一个// 用数组存放广告列表
$ads = array('<a href="#"><img" width=100% src="ad-125x125.png" alt="广告 1" width="125" height="125" /></a>'
,'<a href="#"><img" width=100% src="ad-125x125.png" alt="广告 2" width="125" height="125" /></a>'
,'<a href="#"><img" width=100% src="ad-125x125.png" alt="广告 3" width="125" height="125" /></a>'
,'<a href="#"><img" width=100% src="ad-125x125.png" alt="广告 4" width="125" height="125" /></a>'
);// 对数组进行随机排序
shuffle($ads);// 输出经过排序的数组
$html = '';
foreach ($ads as $ad) {
$html .= $ad;
}
echo $html;
在php教程获取表单数据有专用的命令, $_POST[]就是这个函数了,下面我们一个简单的实例
<?php
echo 'Hello, ' . $_POST['first_name'] . '!';
?>
输出是来自表单的first_name的值。
再复杂一点点的实例,
$_POST['name'] = trim($_POST['name']);
if (strlen($_POST['name']) == 0) {
$errors[] = "Your name is required.";
}
好了,下面做一个关于$_POST的完整实例
<?php
$user = $_POST['user'];
$color = $_POST['color'];
$self = $_SERVER['PHP_SELF'];if( ( $user != null ) and ( $color != null ) )
{
setcookie( "firstname", $user , time() + 36000 );
setcookie( "fontcolor", $color, time() + 36000 );
header( "Location:getcookie.php" );
exit();
}
?>
<html>
<head>
<title>Set Cookie Data</title>
</head><body>
<form action ="<?php echo( $self ); ?>" method = "post">
Please enter your first name:
<input type = "text" name = "user"><br><br>Please choose your favorite font color:<br>
<input type = "radio" name = "color" value = "#FF0000">Red
<input type = "radio" name = "color" value = "#00FF00">Green
<input type = "radio" name = "color" value = "#0000FF">Blue
<br><br>
<input type = "submit" value = "submit">
</form></body>
</html>
总结:上面的实例没做安全处理,只是简单的获取了表单提交的数据,我们可以做一些安全处理,如isset() addslashes 等处理。
定义和用法
substr_replace() 函数把字符串的一部分替换为另一个字符串。
语法
substr_replace(string,replacement,start,length)
<?php教程
echo substr_replace("hello world","earth",6);
?>
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
replacement | 必需。规定要插入的字符串。 |
start |
必需。规定在字符串的何处开始替换。
|
charlist |
可选。规定要替换多少个字符。
|
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 php教程,您能够创建并取回 cookie 的值。
如何创建 cookie?
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。
语法
setcookie(name, value, expire, path, domain);例子
在下面的例子中,我们将创建名为 "user" 的 cookie,把为它赋值 "alex porter"。我们也规定了此 cookie 在一小时后过期
最简单的cookie创建方法
<?php
echo( "cookie created? : " . setcookie("cookie_name", "cookie_data" ) );
?>
实例二cookies存数组
<?
setcookie("php[uid]", "1111111111111111", time()+3600);
setcookie("php[color]", "black", time()+3600);
setcookie("php[preference]", "english", time()+3600);if (isset ($php)) {
while (list ($name, $value) = each ($php)) {
echo "$name = $value<br>n";
}
}
?>
cookie删除
<?php
setcookie ( "cookie_user", "test", time () + 60 * 60 * 24 * 30 );
setcookie ( "cookie_pass", md5 ( "test" ), time () + 60 * 60 * 24 * 30 );function logout() {
setcookie ( "cookie_user", "", time () + 60 * 60 * 24 * 30 );
setcookie ( "cookie_pass", "", time () + 60 * 60 * 24 * 30 );
}
logout ();
echo $_cookie ['cookie_user'] . "<br />";
echo "you have successfully logged out.";
?>
下面一个利用cookies记录用户名自动登录函数实例
<?php
$globals['username'] = "test";
$globals['password'] = "test";
function validatelogin ($username, $password){
if (strcmp ($username, $globals['username']) == 0 && strcmp ($password, $globals['password']) == 0){
setcookie ("cookie_user", $username, time()+60*60*24*30);
setcookie ("cookie_pass", md5 ($password), time()+60*60*24*30);
return true;
} else {
return false;
}
}
if (validatelogin ("test","test")){
echo "successfully logged in.";
} else {
echo "sorry, invalid login.";
}
?>