2つの変数を配列にプッシュしようとしていますが、キーが同じであることを確認します。1つのキーで2つの変数を配列に押し込むPHP
以下のコードは、ファイルがいっぱいのフォルダを介した検索機能です。 foreachでは、私は名前または名前の一部が検索語句と一致するかどうかチェックしています。結果がある場合は、ファイル名とファイルパスを配列に格納します。私は、コードを実行すると
protected function search()
{
$keyword = $this->strKeyword;
$foundResults = array();
$dir_iterator = new RecursiveDirectoryIterator(TL_ROOT."/tl_files/");
$iterator = new RecursiveIteratorIterator($dir_iterator,
RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $splFile) {
if ($splFile->getBaseName() == $keyword) {
array_push($foundResults, $splFile->getBaseName(), $splFile->getPathName());
}
elseif(stripos($splFile->getBaseName(), $keyword) >= 3){
array_push($foundResults, $splFile->getBaseName(), $splFile->getPathName());
}
}
return $foundResults;
}
が、それは以下のバック与える:
[0] => FileName Output 1
[1] => FilePath Output 1
[2] => FileName Output 2
[3] => FilePath Output 2
あなたが見ることができるように、彼はファイル名やファイルパス
しかし、私がしたいですのための新しいキーを設定しましたこれは:
[0] => Example
(
[fileName] => logo.png
[pathName] => /tes/blalabaa/ddddd/logo.png
)
私はそれが少しはっきりしていると誰かが私を助けることを願っています。
Greetz
Lashaneの解決策は$ foundResults []と同じですが、読むのが少し洗練され、より多くのPHPスタイルがあります。 – flyby
ご協力いただきありがとうございます:)私はこのコードを使用し、それは素晴らしい動作します! – Swolschblauw