0

部品番号と部品の説明を含む文字列があります。例として

$MyString = "9210009 - text 6420, 5412, 5224, 4416, 4408 - SSL  Upgrade to 2,000  9210020 - ADC factory installed";

pnだけで配列を取得することはありません。

$pn = array(
    "9210009",
    "9210020",
);

誰かが私を助けることができますか?ありがとうございました!

4

2 に答える 2

1
$MyString = "9210009 - text 6420, 5412, 5224, 4416, 4408 - SSL  Upgrade to 2,000  9210020 - ADC factory installed";

function extractPartNumbers($str, $pnLength = 7) {
    $pn  = array();
    $str = explode(' ', $str);

    foreach ($str as $s) {
        if (is_numeric($s) && strlen($s) == $pnLength) {
            $pn[] = $s;
        }
    }

    return $pn;
}

print_r( extractPartNumbers($MyString) ); // Array ( [0] => 9210009 [1] => 9210020 )
于 2013-03-14T22:30:39.833 に答える
0
$pn = array();
$pnbits= explode("", $mystring);

これを使ってバラバラにします

9210009-テキスト6420、5412、5224、4416、4408-2,000へのSSLアップグレード9210020-ADCが工場出荷時にインストールされています

次に、すべてのピースをループし、条件に一致する場合は、配列にプッシュして、後で印刷します

foreach ($pnbits as $bits) {
    if (is_numeric($bits) && strlen($bits) == 7) {
        array_push($pn,$bits);
    }
}

print_r($pn);
于 2013-03-14T22:34:35.107 に答える