Wenn ich ein print_r auf meine $ _POST zu tun, ich habe ein Array, das wie folgt aussehen:Wie Integer-Wert von Array erhalten: php
Array
(
[action] => remove
[data] => Array
(
[row_1] => Array
(
[DT_RowId] => row_1
[name] => Unit 1
[item_price] => 150.00
[active] => Y
[taxable] => Y
[company_id] => 1
)
)
)
Der row_1 Wert kann so etwas wie row_ formatiert werden?
Ich möchte diese Nummer als Zeichenfolge, unabhängig von der Nummer. Dieser Schlüssel und der DT_RowID-Wert sind immer gleich, wenn das hilft.
Im Moment mache ich das, aber es scheint wie eine schlechte Art und Weise tun:
//the POST is a multidimensinal array... the key inside the 'data' array has the id in it, like this: row_2. I'm getting the key value here and then removing the letters to get only the id nummber.
foreach ($_POST['data'] AS $key => $value) {
$id_from_row_value = $key;
}
//get only number from key = still returning an array
preg_match_all('!\d+!', $id_from_row_value, $just_id);
//found I had to use [0][0] since it's still a multidimensional array to get the id value
$id = $just_id[0][0];
Es funktioniert, aber ich vermute, es ist ein schneller Weg, diese Zahl aus dem Array $ _POST des Erhaltens .
Sie könnten 'array_keys()' anstelle Ihrer foreach-Schleife verwenden, um den Schlüssel zu erhalten, wenn Sie möchten. Dann können Sie 'preg_match()' anstelle von 'preg_match_all()' verwenden, um nur die Zahl zu erhalten. – Rizier123
ein Problem mit dem unteren Code ist, dass, wenn Sie mehrere Zeilen in '$ _POST ['Daten'] haben' Sie immer nur den letzten Schlüssel seit jeder Iteration der Schleife bekommen $ id_from_row_value wird der Wert dieses Schlüssels neu zugewiesen . –