第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

字符串中帶有通配符的php switch語句

字符串中帶有通配符的php switch語句

PHP
千巷貓影 2023-10-15 15:19:26
我想要一個(gè)switch 語句,其中包含文字大小寫和字符串中帶有通配符的大小寫:switch($category){    case 'A**': $artist= 'Pink Floyd'; break;    case 'B**': $artist= 'Lou Reed'; break;    case 'C01': $artist= 'David Bowie'; break;    case 'C02': $artist= 'Radiohead'; break;    case 'C03': $artist= 'Black Angels'; break;    case 'C04': $artist= 'Glenn Fiddich'; break;    case 'C05': $artist= 'Nicolas Jaar'; break;    case 'D**': $artist= 'Flat Earth Society'; break;}當(dāng)然,這里的 * 會(huì)按字面意思理解,因?yàn)槲覍⑺x為字符串,所以這不起作用,但你知道我想要實(shí)現(xiàn)什么:對于 A、B 和 D 情況,數(shù)字可以是任何值 (*)。也許使用 preg_match 這是可能的,但這真的讓我大吃一驚。我谷歌了一下,我確實(shí)這么做了。
查看完整描述

3 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

當(dāng)然,如果確實(shí)是最好的方法,您可以使用 switch 來做到這一點(diǎn)。很長的切換案例列表令人頭疼......


switch($category){

    case 'C01': $artist = 'David Bowie';    break;

    case 'C02': $artist = 'Radiohead';      break;

    case 'C03': $artist = 'Black Angels';   break;

    case 'C04': $artist = 'Glenn Fiddich';  break;

    case 'C05': $artist = 'Nicolas Jaar';   break;

    default:

        switch(substr($category,0,1)){

            case A: $artist = 'Pink Floyd';         break;

            case B: $artist = 'Lou Reed';           break;

            case D: $artist = 'Flat Earth Society'; break;

            default:    echo'somethig is wrong with category!';}}


查看完整回答
反對 回復(fù) 2023-10-15
?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

嘗試這個(gè) :


$rules = [

    '#A(.{2,2})#' => 'Pink Floyd',

    '#B(.{2,2})#' => 'Lou Reed',

    'C01' => 'David Bowie',

    'C02' => 'Radiohead',

    'C03' => 'Black Angels',

    'C04' => 'Glenn Fiddich',

    'C05' => 'Nicolas Jaar',

    '#D(.{2,2})#' => 'Flat Earth Society'

];


$category = 'Dxx';

$out = '';


foreach ( $rules as $key => $value )

{

    /* special case */

    if ( $key[0] === '#' )

    {

        if ( !preg_match($key, $category) )

            continue;


        $out = $value;

        break;

    }

    

    /* Simple key */

    if ( $key === $category )

    {

        $out = $value;

        break;

    }

}


echo $out."\n";


查看完整回答
反對 回復(fù) 2023-10-15
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

我寫了一個(gè)函數(shù)。這是 withpreg_match但它很短并且可以重復(fù)使用。


function preg_switch(string $str, array $rules) {

    foreach($rules as $key => $value) {

        if(preg_match("/(^$key$)/", $str) > 0)

            return $value;

    }

    return null;

}

你可以這樣使用它:


$artist = preg_switch("Bdd", [

    "A.." => "Pink Floyd",

    "B.." => "Lou Reed",

    "C01" => "David Bowie",

    "C02" => "Radiohead",

    "C03" => "Black Angels",

    "C04" => "Glenn Fiddich",

    "C05" => "Nicolas Jaar",

    "D.." => "Flat Earth Society",

]);

而不是*你必須使用.


查看完整回答
反對 回復(fù) 2023-10-15
  • 3 回答
  • 0 關(guān)注
  • 203 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號