很雜的一些小總結

2021-06-26 05:36:44 字數 2463 閱讀 1480

前前後後研究了有小半月,總算從零基礎,有了一些感想。不過今天的主題不是這個。。

前段時間的進度是,成功實現,依據班級資訊,學期資訊,從青果上將課程表頁面**爬下來,並用正規表示式實現了所需**提取。而今天,要做的事情是將提取的資料,存入到mysql中。這中間出現了挺多問題的,所以打算記錄一下。

mysql也是零基礎,花了乙個白天的時間,瀏覽了mysql的基礎,大概懂得了一些基本操作,就開始直接上手寫**。

array str_split ( string $string [, int $split_length = 1 ] ) //將乙個字串轉換為陣列,string 輸入字串。split_length 每一段的長度。
這個不符合我的想法,我希望是以">"來分割字串,之後找到了split();說明如下:

array split ( string $pattern , string $string [, int $limit ] ) //本函式返回乙個字串陣列,每個單元為 string 經區分大小寫的正規表示式 pattern 作為邊界分割出的子串。如果設定了 limit,則返回的陣列最多包含 limit 個單元,而其中最後乙個單元包含了 string 中剩餘的所有部分。如果出錯,則 split() 返回 false。
符合我的期望,然後就用上了:

foreach ($yres[0] as $k => $v)
其中yres[0]是存放從網頁扒下來的學年**資訊。

deprecated: function split() is deprecated in f:\php\code.php on line 46
tip preg_split() 函式使用了 perl 相容正規表示式語法,通常是比 split() 更快的替代方案。如果不需要正規表示式的威力,則使用 explode() 更快,這樣就不會招致正規表示式引擎的浪費。

一瞄preg_split();果斷有好感(沒有為什麼),然後就直接用了preg_split();函式,實現了功能,也沒有提示不贊成啥的。

foreach ($yres[0] as $k => $v)
不過到現在整理材料的時候,發現了tip中的內容,因為的分割字串並未用到正規表示式,只是以乙個』>『來分割而已,於是又換了explode(),**變成了:

foreach ($yres[0] as $k => $v)
到這邊,分解字串,至少我找到的,能用的,就有四種:

str_split();

split();
preg_split();
explode();
以上函式均未給出引數,返回值型別啥的,因為我暫時並沒有很關注這些,有人需要的話,可以

戳這裡去查詢。

分割字串問題解決了,接下來便是將資料存入資料庫中,在這個地方,遇到了問題-->亂碼。

foreach ($yres[0] as $k => $v)
之前還出現過,values中的變數沒加''單引號這樣的錯誤,不過這種錯誤,就不說了。

執行指令碼,進mysql,查了資料表,妥妥的中文全亂碼,然後就開始想辦法,去引號啊,用中文代替變數啊,反正巴拉巴拉的試了好幾種,都沒效果。

然後,前段時間有看了編碼的知識,大概知道一些,突然靈光一閃什麼的,想到了,應該是編碼問題!

然後問題來了......話說帶這句話會不會被網路刑警逮到?

後來我加了

mysql_query('set names utf8');
還是沒效果,不管加在迴圈外面還是加在裡面

再後來,又想到了一種可能性,就是是否是因為$year我沒有初始化,然後直接就被res[0]賦值了,然後造成了不知道$year確切是什麼型別的變數,於是出現了編碼混亂。

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )//將 string 型別 str 的字元編碼從可選的 from_encoding 轉換到 to_encoding。
於是,有了下面的:

foreach ($yres[0] as $k => $v)
foreach ($yres[0] as $k => $v)
最後乙個引數的意思是,原編碼,如果符合原編碼的條件,就轉換成utf-8,然後就成功了,反正就是成功了,至於原因是不是我上面想的那樣,就不想了。

以上,很亂,很雜,剛開始寫部落格,算是記錄了自己的一些例項經驗吧,老手誤笑。

一些小總結

1.不使用中間變數,更換2個變數的值的3個方法 int a 34 int b 45 system.out.println a a b b a b b a 0 system.out.println a a b b a a b b a b a a b system.out.println a a b b...

Regx的一些小總結

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...

筆試的一些小總結

1.二叉樹節點的度,就是說他有幾個子節點,可以是0,1,2。2.mysql assoc沒實現?等會再看 3.正規表示式.常見的一些元字元 表示開始 表示結束 表示前面出現0次或多次 表示前面出現一次或多次 表示前面出現0次或1次 4.linux命令,刪除乙個非空子目錄rm rf tmp 5.php中...