我需要檢查一個 URL 地址是否包含一些文本。所以我創建了這段代碼。
function url_mapping_name( $urlname ) {
if (str_contains($urlname, 'amazon.de')) {
echo "amazon;
}
if (str_contains($urlname, 'brickset')) {
echo 'brickset';
} else {
echo 'no URL';
}
我想說。在$urlname 中查找“amazon.de”,如果URL 包含amazon.de 回傳amazon,如果URL 包含brickset.com 回傳brickset,如果沒有找到則回傳no URL
但有些事情是錯誤的,我知道我在哪里做錯了
謝謝你幫助我。
uj5u.com熱心網友回復:
線
回聲'亞馬遜';
缺少引號。注意顏色編碼的變化。這通常是由于缺少引號引起的。
假設“回傳”是指讓函式將該值分配給變數,則所有輸出字串都應該是
回傳“字串”;
代替
echo '字串';
一個潛在的額外問題是有 2 個 if 陳述句而不是使用 else if。如果您確實打算回顯字串而不是回傳它們,則它應該是這樣的,因此當它等于 'amazon' 時,它也不會回顯 'no url'
function url_mapping_name( $urlname ) {
if (str_contains($urlname, 'amazon')) {
echo 'amazon';
} else if (str_contains($urlname, 'brickset')) {
echo 'brickset';
} else {
echo 'no URL';
}
uj5u.com熱心網友回復:
感謝您的幫助,我使用了以下改進,現在可以使用了。
- 我修正了結束語
- 用 return 替換 echo
- 使用 elseif - 它在@aynber 寫之前回傳了“amazonno URL”
function url_mapping_name( $urlname ) {
if (str_contains($urlname, 'amazon.de')) {
return 'amazon';
}
elseif (str_contains($urlname, 'brickset')) {
return 'brickset';
} else {
return 'no URL';
}
}
非常感謝你幫助我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/364843.html
