Ich habe eine Datei namens parts.json, eine JSON-Datei, die ein Array einiger Fahrzeugersatzteilobjekte enthält.
Hier ist ein Beispiel für einige davon:
[ { "name": "u0625u0643u0635u062fu0627u0645 u0623u0633u0648u062f u062eu0641u064au0641", "category": "u0625u0643u0635u062fu0627u0645u0627u062a", "quantity": "2", "price": "55", "id": 1756378, "shelf": "30", "slot": "173" }, { "name": "u0625u0643u0635u062fu0627u0645 u0623u0633u0648u062f u0645u062du0645u0644", "category": "u0625u0643u0635u062fu0627u0645u0627u062a", "quantity": "2", "price": "90", "id": 1181335, "shelf": "", "slot": "" }
In meiner index.php-Datei habe ich ein Formular, das ein Texteingabefeld und eine Schaltfläche zum Senden enthält. Ich möchte eine Suchfunktion hinzufügen, sodass jedes Mal, wenn auf die Schaltfläche „Senden“ geklickt wird, ein Formular mit allen Ersatzteilinformationen ausgefüllt wird.
Dazu habe ich zwei Funktionen wie folgt erstellt:
function getParts() { return json_decode(file_get_contents(__DIR__ . '/parts.json'), true); } function getPartByName($name) { $parts = getParts(); foreach ($parts as $part) { if (str_starts_with($part['name'], $name)) { return $part; } } return ''; }
Das Problem ist, wenn ich diesen Code verwende:
$searchedPart = $_POST['searched-part']; $partToBeSearched = trim($searchedPart); echo getPartByName($partToBeSearched)['name'];
Was ich erhalte, ist die erste Übereinstimmung des Ersatzteilnamens, beginnend mit dem eingegebenen Präfix.
getPartByName函数中的返回值只能返回一个元素。
如果您想要多个结果,那么您应该返回一个数组。
在线尝试 (已更新文本,使其比使用编码字符更容易理解)