PHP number convert to Excel column letters 2

本篇提供兩個方法互轉,簡潔又好用,沒有限制數字大小

繼下面這篇文章後,我發現更簡短的方法,提供給大家參考

數字轉換 Excel 欄位英文字母

ex:

Excel 欄位英文字母轉換回 數字

ex:

[……]

Read more

PHP number convert to Excel column letters

數字轉換 Excel 欄位英文字母,例如 1 = A , 2 = B , 27 = AA
Excel 欄位英文字母轉換回 數字 , 例如 A = 1 , B = 2 , AA = 27

本篇提供兩個方法互轉,簡潔又好用,沒有限制數字大小

數字轉換 Excel 欄位英文字母

ex:

Excel 欄位英文字母轉換回 數字

ex:

https://stackoverflow.com/a/25214690/6784662

我發現一個更簡潔的方法

[……]

Read more

PHP 運用 array_diff() 差集,取得新增及刪除id

實在是太好用了

在開發網頁後端的時候,很常見像WordPress 這樣的分類資料,當按下儲存,表單送出後,PHP會接到的是一個POST的陣列,這就是分類id的陣列,而後端程式的處理上,新增文章的時候很好判斷,只要將送來的id都新增一筆資料就好了,但遇到文章更新的時候就相對麻煩了,因為已經有原本選擇的標籤資料了,需要去比對原本的標籤資料與表單新送過來的分類id,需要判斷哪幾個id是要新增資料,那幾個id 是要刪除資料,透過本篇介紹的array_diff() (陣列的差集),PHP原生的處裡函式就可以輕鬆篩選出來

範例:

[……]

Read more

PHP 取 youtube 影片id

取得 youtube id

youtube 現在分享網址有好多種,

可能是這樣:

https://youtu.be/p_T3oNKjAT8

可能是這樣:

https://www.youtube.com/watch?v=p_T3oNKjAT8

不確定User會填入哪一種分享網址的情況下,下面這方法可以解析出這些類型的 youtube id

Fix Google reCaptcha invalid-json error

使用 Google reCaptcha 驗證碼進行後端驗證,拋出 invalid-json 錯誤,分享解決這問題的方法:

解決方法:

開啟檢查 PHP.ini 設定,搜尋「allow_url_fopen」,若值不是 On 請改成 On 開啟它,如下:

allow_url_fopen = On

接著搜尋「extension=php_openssl.dll」,確認是否開啟,前方有分號「;」代表沒開啟

;extension=php_openssl.dll

將前方的分號「;」移除,如下:

extension=php_openssl.dll

重新啟動 SERVER

 [……]

Read more

PHP 呼叫 Namespace 文件中的 function

呼叫 Namespace 文件裡的 function

/**
* https://vector.cool
*/
Namespace VECTOR\COOL;

function test() {
    echo "Hello world!\n";
}

VECTOR\COOL\test();

呼叫 Namespace 文件裡 class 中的 function

/**
* https://vector.cool
*/
namespace VECTOR\COOL;

class HELLO{
    static public function test() {
        echo "Hello world!\n";
    }
}

VECTOR\COOL\HELLO::test();

在 WordPress Action 中呼叫

<?php
/**
* https://vector.cool
*/
Namespace VECTOR\COOL;

function test() { 
	echo "Hello[......]

Read more

PHP Namespace 錯誤 Warning call_user_func_array() expects parameter 1 to be a valid callback

使用 __NAMESPACE__  取得當前文件的 Namespace

呼叫 Namespace 裡的 function

/**
* https://vector.cool
*/
Namespace VECTOR\COOL;

function test() {
    echo "Hello world!\n";
}

call_user_func(__NAMESPACE__ .'\test');

呼叫 Namespace 裡的 class 中的 function

/**
* https://vector.cool
*/
Namespace VECTOR\COOL;

class Hello {
    static public function test() {
        echo "Hello world!\n";
    }
}

call_user_func(__NAMESPACE__ .'\Hello::test'); // String
call_user_func(array(__NAMESPACE__ .'\H[......]

Read more

PHP print_r() 轉成字串或變數

PHP開發者應該對 print_r()  不陌生,可以直接在瀏覽器中吐出Array中的結構,在Debug時邦很大的忙,但有一種情境是 SERVER 端被動接收 API 的回傳值,可能是一個POST,但我想了解這API回傳的值是否正確,於是寫了一個Log檔去紀錄,但Array直接寫入Log,會把Array強制轉型成字串,變成 “Array” 字串,還是無法知道Array裡面傳了什麼值,print_r()其實還有第二個參數,設定第二個參數,可以把Array 輸出的文字轉成字串,這樣我們就可以很容易地在Log中清楚地看見POST回傳值了。

範例:

 
$var = print_r($arr, true);

寫在Log忠誠這樣:

 
[2018-03-11 18:34:06]tset
[2018-03-11 18:48:39]Array
(
    [CustomField1] => 
    [CustomField2] => 
    [CustomField3] => 
    [CustomField4] => 
    [Me[......]

Read more