⑴ php 如何在變數中添加字元串
首先看簡單的替換:
$str1="*3*";//原字元串
$str2="abc";//要添加的字元串
$str1=str_replace("3",$str2."3",$str1);//字元串替換
echo$str1;
就是把3替換成abc3,但是這樣有個前提:必須知道原始字元串里有個「3」,才可以替換,不然是無法替換的。
所以此時就需要用到另外一種方法:在指定位置添加字元串,例如:
<?php
/**
*指定位置插入字元串
*@param$str原字元串
*@param$i插入位置
*@param$substr插入字元串
*@returnstring處理後的字元串
*/
functioninsertToStr($str,$i,$substr){
//指定插入位置前的字元串
$startstr="";
for($j=0;$j<$i;$j++){
$startstr.=$str[$j];
}
//指定插入位置後的字元串
$laststr="";
for($j=$i;$j<strlen($str);$j++){
$laststr.=$str[$j];
}
//將插入位置前,要插入的,插入位置後三個字元串拼接起來
$str=$startstr.$substr.$laststr;
//返回結果
return$str;
}
//測試
$str="hello!";
$newStr=insertToStr($str,6,"");
echo$newStr;
//hello!
?>
測試說明:在第6個字元串位置插入新的字元串,並輸出最終結果
⑵ php gd 庫 怎麼能讓文字浮於畫布中某個有填充顏色的矩形或者其他圖形中
驗證碼干擾線形式的嗎 一般不是有 createimage 驗證碼圖片那個嗎 計算下位置寫入干擾線就好了
⑶ php 怎麼處理字元串
大家通過對PHP的學習,可以運用這一高級語言創建一個性能較高的網站。對於初學者來說,對於PHP字元串mbstring還是比較陌生的,下面我們就來介紹一下PHP字元串mbstring的具體應用。
多國語言並存就意味著多位元組,PHP內置的字元串長度函數strlen無法正確處理中文字元串,它得到的只是字元串所佔的位元組數。對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是1~3倍的差異了。
採用PHP字元串mbstring可以較好地解決這個問題。mb_strlen的用法和strlen類似,只不過它有第二個可選參數用於指定字元編碼。例如得到UTF-8的字元串$str長度,可以用mb_strlen($str,』UTF-8′)。如果省略第二個參數,則會使用PHP的內部編碼。內部編碼可以通過mb_internal_encoding()函數得到,設置有兩種方式:
1. 在php.ini中設置mbstring.internal_encoding = UTF-8
2. 調用mb_internal_encoding(」GBK」)
除了PHP字元串mbstring,還有很多切割函數,其中mb_substr是按字來切分字元,而mb_strcut是按位元組來切分字元,但是都不會產生半個字元的現象。而且從函數切割對長度的作用也不同,mb_strcut的切割條件是小於strlen, mb_substr是等於strlen,看下面的例子,
< ? $str = 『我是一串比較長的中文-www.jefflei.com』; echo 「mb_substr:」 . mb_substr($str, 0, 6, 『utf-8′); echo 」 「; echo 「mb_strcut:」 . mb_strcut($str, 0, 6, 『utf-8′); ?>
輸出如下:
mb_substr:我是一串比較
mb_strcut:我是
需要注意的是,PHP字元串mbstring並不是PHP核心函數,使用前需要確保在php編譯模塊時加入mbstring的支持:
(1)編譯時使用–enable-mbstring
(2)修改/usr/local/lib/php.inc
default_charset = 「zh-cn」
mbstring.language = zh-cn
mbstring.internal_encoding =zh-cn
PHP字元串mbstring類庫內容比較多,還包括mb_ send_ mail 之類的email處理函數等
⑷ php:如何生成隨機的唯一字母數字字元串
1. 自己寫代碼產生隨機的數字和字母組合,每產生1個去資料庫查詢該隨機碼是否已存在,如果已存在,則重新產生,直到不重復為止。
缺點:產生速度慢,還要查詢資料庫,當數據量大的時候,可能重復的機率會比較高,要查詢多次資料庫.
2. guid,該方法應該是用的比較多的。
優點:使用簡單方便,不用自己編寫額外的代碼
缺點:佔用資料庫空間相對較大,特別是根據guid查詢速度比較慢(畢竟是字元串)。
3. 主鍵+隨機碼的方式,我們產生的隨機碼保存到資料庫肯定會有個主鍵,用該主鍵+隨機字元來組合。產生步驟:
1) 先從id生成器中獲取id,比如是155.
2)填充成固定位數(比如8位)的字元串(不夠位數的左邊填0,超過位數直接使用該數字),得到:00000155
3)在每個數字後面隨機插入1個字母或其它非數字元號,得到:0A0F0R0Y0H1K5L5M
這樣就可以得到1個隨機的唯一的邀請碼了。
優點:使用也比較簡單,不用查詢資料庫。最大的優點是查詢的時候,可以根據邀請碼直接得到主鍵id,然後根據id去資料庫查詢(速度很快),再比較查詢出來的邀請碼和用戶提交的邀請碼是否一致。
缺點:需要使用id產生器,如果主鍵是資料庫自增長的就不太好用(需要先插入資料庫獲取id,再更新邀請碼)。
4. 有時候產品經理說,我要求邀請碼都是數字的。把方法3變通下就可以實現唯一的純數字隨機碼了。
1) 獲取id: 155
2) 轉換成8進制:233
3) 轉為字元串,並在後面加'9'字元:2339
4)在後面隨機產生若干個隨機數字字元:2003967524987
轉為8進制後就不會出現9這個字元,然後在後面加個'9',這樣就能確定唯一性。最後在後面產生一些隨機數字就可以。
⑸ php中什麼是字元串用引號引起來的就叫字元串嗎
一個字元串string就是由一系列的字元組成,其中每個字元等同於一個位元組。
php字元串:
定義一個字元串的最簡單的方法是用單引號把它包圍起來(字元')。
要表達一個單引號自身,需在它的前面加個反斜線()來轉義。要表達一個反斜線自身,則用兩個反斜線(\)。其它任何方式的反斜線都會被當成反斜線本身:也就是說如果想使用其它轉義序列例如
或者
,並不代表任何特殊含義,就單純是這兩個字元本身。
這里有詳細的解釋http://php.net/manual/zh/language.types.string.php
⑹ 如何把對象轉化為字元串 php
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php,填充問題基礎代碼。

⑺ 如何用php語言中的字元串匹配函數匹配如下代碼中的字元串,並將其賦值
preg_match_all('/?fid=([^"]*)">(d+.jpg)/is',$str,$Arr);
⑻ php在字元串中添加-
<?php
$a=2018081206;
$b=substr($a,0,4);
$c=substr($a,4);
echo$b.'-'.substr(chunk_split($c,2,"-"),0,-1);
⑼ PHP字元串替換問題,隨機地區
龐大的代碼量。。。
需要將所有的省市縣放在多維數組里,然後用隨機下標的方式取得。
<?php
function getrandcity() {
$data = array(
'x1省' => array(
'x1y1市' => array(
'x1y1z1區',
'x1y1z2區',
),
'x1y2市' => array(
'x1y2z1區',
'x1y2z2區',
),
),
'x2省' => array(
'x2y1市' => array(
'x2y1z1區',
'x2y1z2區',
),
),
'x3省' => array(
'x3y1市' => array(
'x3y1z1區',
'x3y1z2區',
),
),
// .... 要填充完全這個資料庫啊
);
$keys = array_keys($data);
$x = $keys[rand(0,count($keys)-1)];
$keys = array_keys($data[$x]);
$y = $keys[rand(0,count($keys)-1)];
return $x.$y.$data[$x][$y][rand(0,count($data[$x][$y])-1)];
}
echo getrandcity();
?>