当前位置: 主页 > 日志 > PHP >

php自学笔记-字符串操作,js获取控件数组的值,post重复参数的处理,ajax提交&和+的处理

参考资料:http://www.w3school.com.cn

// 求字符串长度

strlen() 函数用于计算字符串的长度。

计算字符串 "Hello world!" 的长度:

<?php
echo strlen("Hello world!");
?>

以上代码的输出:

12

// 寻找字串

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

返回值:返回找到的子串的位置,没有找到返回false
注意:
如果子串$needle在$haystack串首出现将返回0
因此判断是否找到字串应该用===而不能用==

<?php
$str="redicecn.com";

// 下面是错误的判断
if(strpos($str,"redice")==false)
{
   echo "没有找到子串!";
}
else
{
   echo "找到了子串!";
}
?>


//strstr() 函数

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。

该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
语法

strstr(string,search)

参数     描述
string     必需。规定被搜索的字符串。
search     必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。
提示和注释

注释:该函数是二进制安全的。

注释:该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用 stristr()。

例子 1

<?php
echo strstr("Hello world!","world");
?>

输出:

world!

例子 2

在本例中,我们将搜索 "o" 的 ASCII 值所代表的字符:

<?php
echo strstr("Hello world!",111);
?>

输出:

o world!

// 取部分字符串

语法: string substr(string string, int start, int [length]);

内容说明

本函数将字符串 string 的第 start 位起的字符串取出 length 个字符。若 start 为负数,则从字符串尾端算起。若可省略的参数 length 

存在,但为负数,则表示取到倒数第 length 个字符。

使用范例

<?
echo substr("abcdef", 1, 3);  // 返回 "bcd"
echo substr("abcdef", -2);    // 返回 "ef"
echo substr("abcdef", -3, 1); // 返回 "d"
echo substr("abcdef", 1, -1); // 返回 "bcde"
?> 

// 字符串拆分数组

语法:
explode(separator,string,limit)

separator      必需。规定在哪里分割字符串。
string     必需。要分割的字符串。
limit     可选。规定所返回的数组元素的最大数目。
说明

本函数返回由字符串组成的数组,其中的每个元素都是由 separator 作为边界点分割出来的子字符串。

separator 参数不能是空字符串。如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 中单个元素的数组。

如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。

如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。

例子:

在本例中,我们将把字符串分割为数组:

<?php
$str = "Hello world. Its a beautiful day.";
print_r (explode(" ",$str));
?>

输出:

Array
(
[0] => Hello
[1] => world.
[2] => Its
[3] => a
[4] => beautiful
[5] => day.
)


// js如何获取控件数组(表单中的多个名称相同的元素)的值

如下代码:
document.getElementsByName("控件名称")[索引(从0开始)].value;

例如:
document.getElementsByName("paperauthor_name")[0].value;

// 表单post重复参数的处理

客户端表单元素(控件)名称后缀“[]”,例如:
<input type="text"  name="控件名称[]" size="20">
注意,对这个表单元素处理时别忘记了“[]”。

服务端代码,$_POST[控件名称][索引],例如:
echo $_POST[paperauthor_name][0];

// ajax提交&和+的处理

采用Ajax传递数据时,通常会将数据整理为data="var1=abc&var2=def"。而当数据中存在加号(+)或是连接符(& amp;)时,服务器端接收数据时

会有部分数据丢失现象。分析一下Ajax传递数据的格式与Javascript的语法不难发现:

1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。

解决办法也相当简单,只需要为+与&符号编码即可:
function vchar(str) 
{
    str = str.replace(/+/g, "%2B");
    str = str.replace(/&/g, "%26");
    return str;
}
var1 = "abc+kef";
var2 = "abc&kef";  

var1 = vchar(var1);
var2 = vchar(var2);  
 
alert(var1);
alert(var2);

// PHP+MySql获取新添加记录的ID值

1.假设字段名称为recordID

2.字段属性须设为:auto_increment

3.添加数据后使用

$newID = mysql_insert_id(); // 得到ID值

[日志信息]

该日志于 2009-07-10 16:15 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “php自学笔记-字符串操作,js获取控件数组的值,post重复参数的处理,ajax提交&和+的处理” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部