Ich habe eine Datei dieses Array enthält:Wert aus dem Array in einer anderen Datei entfernen?
stafflist.php:
<?php return array (
2 => '76561198046199189',
1 => '76561198063610282',
3 => '76561198042145797',
);?>
Aber ich versuche einen Wert aus dem Array aus einer anderen Datei (remove.php) I‘zu entfernen Ich habe alles versucht, von einer Funktion, die den Index vom Array bekommt, nur unset(array['id'])
zu verwenden, aber nichts funktioniert.
Hier ist mein jüngste Versuch: (innen remove.php)
function removeFromArray($steamid, &$array) {
$index = array_search($steamid, $array);
if($index !== false) {
unset($array[$index]);
}
return $array;
}
$roster = require dirname(__FILE__)."/../../../stafflist.php";
if(in_array($_GET['steamid'], $roster)) {
$output = removeFromArray($_GET['steamid'], $roster);
file_put_contents(dirname(__FILE__)."/../../../stafflist.php", '<?php return ' . var_export($output, true) . ';');
}
Sorry, wenn dies eine wirklich einfache Frage ist, habe ich gerade an dieser Stelle stundenlang versuchen.
'$ _GET [ 'SteamID']' sind die Werte im Array oder den Schlüssel? Warum nicht einfach durch das Array iterieren und prüfen, ob der Wert gleich '$ steamid' ist, und ihn löschen? 'foreach ($ array als $ key => $ value) if ($ steamid == $ value) unset ($ array [$ key]);' – MasterOdin
Verwenden Sie einfach 'array_filter()' auf dem Array: https: // 3v4l .org/PIWYj Sie brauchen eigentlich keine Funktion, um diese wirklich einfache Sache zu machen. Schalten Sie Fehlerberichterstattung ein und debuggen Sie, indem Sie das '$ roster' überprüfen, um sicherzustellen, dass es das hat, was Sie wollen. Sie können in diese Datei mit dem Benutzer des Servers schreiben usw. –
Sie brauchen auch nicht und sollten das Schließen nicht einschließen '?>' PHP-Tag. –