-1

さまざまな値で構成された文字列を解析し、他の文字列または数値である可能性のある値を配列に格納する必要があります。

入力の文字列の例:

$inputString = 'First key this is the first value Second second value Thirt key 20394';

最初の入力文字列を細分化するためのキーを含む配列を作成することを考えました。それを見つけるためのキーワードを含む配列は、次のようになります。

$arrayFind = array ('First key', 'Second', 'Thirt key');

$arrayfind を最初から最後まで循環させ、結果を新しい配列に格納するという考え方です。私が必要とする結果の配列は次のようなものです:

$result = array(
                'First key'=>'this is the first value', 
                'Second' => 'second', 
                'Thirt val' => '20394');

誰でも私を助けることができますか?どうもありがとう

4

2 に答える 2

1
<?php
error_reporting(E_ALL | E_STRICT);

$inputString = 'First key this is the first value Second second value Thirt key 20394';
$keys = ['First key', 'Second', 'Thirt key'];

$res = [];
foreach ($keys as $currentKey => $key) {
    $posNextKey = ($currentKey + 1 > count($keys)-1) // is this the last key/value pair?
                  ? strlen($inputString) // then there is no next key, we just take all of it
                  : strpos($inputString, $keys[$currentKey+1]); // else, we find the index of the next key
    $currentKeyLen = strlen($key);
    $res[$key] = substr($inputString, $currentKeyLen+1 /*exclude preceding space*/, $posNextKey-1-$currentKeyLen-1 /*exclude trailing space*/);
    $inputString = substr($inputString, $posNextKey);
}

print_r($res);
?>

出力:

Array
(
    [First key] => this is the first value
    [Second] => second value
    [Thirt key] => 20394
)
于 2013-07-13T15:30:05.777 に答える