一 php foreach 數組添加新屬性
之前沒注意這個問題,今天發現通過 foreach 遍歷數組時,新增的屬性並沒有添加到數組中。
foreach ($tags as $tag) {
$tag["name"] = "new name";
}
//解決方法一:使用 array item 引用
foreach ($tags as &$tag) {
$tag["name"] = "new name";
}
//解決方法二
foreach ($tags as $index => $tag) {
$tags[$index]["name"] = "new name";
}
PHP 分割字符串時指定多個分隔符
在使用 PHP Laravel 實現博客文章打多標籤的功能,輸入時標籤以英文逗號爲分隔符。
但是 PHP 的字符串分割函數 explode 只支持單個分隔符:
$tags = explode(",", $tags_str);
這樣做不能兼容中文逗號,因爲在輸入中文標籤時很容易誤輸入中文逗號。
所以使用正則的方式來分割:
>>> $tags_str = "php, Kotlin, 安卓, 網站";
=> "php, Kotlin, 安卓, 網站"
>>> preg_split( "/(,|,)/", $tags_str);
=> [
"php",
" Kotlin",
" 安卓",
" 網站",
]