PHP初学(一)字符串操作

初学PHP,因为曾经有一点PHP的基础,决定选择PHP cookbook 这本书,了解一下PHP的各种应用,将一些零碎的知识点记在博客上。

0x01  字符串操作函数

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

返回 needle 在 haystack 中首次出现的数字位置。 
也可用于判断 needle是否存在于haystack中 
例如
if(strpos("hacking for fun ","hack")===false){
   return "hack"        //一定要用三个等号
}

 

2, substr()

substr("hello world ",$start ,$length) //抽取语句

substr_replace("hello world","php",$start,$length) //替换语句

strstr ( $haystack , $needle )//返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。

 


3,lookandsay.php  输出lookandsay序列 这是一段很有意思的数字,前一行读出来就是第二行

<?php
    function lookandsay($s){
    $r = "";//输出
    $m = $s[0];//要找的数
    $n= 1;//计数
    for($i=1,$j=strlen($s);$i<$j;$i++){
        if($m==$s[$i])
        { $n++ ;}
        else{
            $r.=$n.$m;
            $n=1;
            $m=$s[$i];
            }
    }
    return $r.$n.$m;
    }
    
    for($i=0,$s=1;$i<10;$i++){
        $s=lookandsay($s);
        print "$s <br/>\n";
    }
?>  

1
11 //一个1
21 //两个1
1211 //一个2 一个1
1112211
312211
13112221 

 



4,implode

string implode ( string $glue , array $pieces )//将一个一维数组的值转化为字符串 用$glue连接在一起,glue可以为空。

如果想分割bool数组,例如
    $array = array(true,false,true,false,true,true);
    $s=implode('',$array);
输出结果false会消失,=> 只有 1111


5,stripslashes 去除转义反斜线 \\ 双反斜线被转义为一个

string stripslashes ( string $str )
官方例程 递归转义数组

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// 范例
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// 输出
print_r($array);
?>

 


6,字符串中插入表达式或变量

print "You have pay ".$REQUEST['payment']."money";字符串连接  
print "You own ".$amount['payment']."immediately";
print "You own $amount[payment] immediately";//在字符串之中只能用$amount[payment]这种形式
可以将它放在大括号之中
print "You own {$amount['payment']}immediately";

7,trim函数

print trim("      something space      \t\r\0\x0B\n","spa").'test01';
print trim('there are w0rds;3','0..9');
print trim('there are w0rds;3','the');
经测试trim函数可以删除特定的字符,但是要求要删除部分在字符串两边。

 

————————————————这里是更新的分割线————————————————————

最后的编程练习:可下载的csv文件

留坑 晚上添

posted on 2016-04-20 14:10  月尽西楼  阅读(142)  评论(0编辑  收藏  举报

导航