Du:
PHP selbst garantiert dir, dass $_POST immer vom Typ Array ist, und dessen einzelne Elemente vom Typ String.
Rolf:
dass $_POST ein Array ist (ein String ist es nie), brauchst du nicht zu prüfen. Dass ein Eintrag in $_POST ein String ist, auch nicht.
Test:
<html>
<form
method="post"
action="https://home.fastix.org/phpinfo.php#_POST">
<input name="foo[0]" value="bar_0">
<input name="foo[1]" value="bar_1">
<button>Weg damit!</button>
</form>
</html>
Die Auswertung ergibt dann:
$_POST['foo'][0]='bar_0';
$_POST['foo'][1]='bar_1';
$_POST['foo']
ist damit ganz klar ein Array, kein String.
Das lässt sich übrigens auch weiter treiben:
<input name="foo[0][tok]" value="bar_0">
<input name="foo[1][tok]" value="bar_1">
Ergebnis:
$_POST['foo'][0]['tok']='bar_0';
$_POST['foo'][1]['tok']='bar_1';
Grüße aus Ganzgenauheim.