#php #substring
#php #подстрока
Вопрос:
Как получить некоторые значения после определенного символа и перед определенным символом и поместить в массив в php
$str = "[{"m":[{"a":1,"u":34,"n":"Administrator"}]},
{"m":[{"a":2,"u":3,"n":"Member"}]},
{"m":[{"a":3,"u":44,"n":"Co-Admin"}]},
{"m":[{"a":2,"u":24,"n":"Member"}]},
{"m":[{"a":2,"u":75,"n":"Member"}]}]"
Я хочу получить все значения между "u":
и ,
в массиве, возможно, результат такой {'34','3','44','24',75}
Комментарии:
1. Почему бы не использовать json_decode() ?
2. используйте json_decode($str) и в цикле foreach принимайте значения типа echo $str[‘m’][‘u’] .
Ответ №1:
вы можете использовать json_decode для получения значения и сохранения в массив.
Пример-
$str = '[{"m":[{"a":1,"u":34,"n":"Administrator"}]},{"m":[{"a":2,"u":3,"n":"Member"}]},{"m":[{"a":3,"u":44,"n":"Co-Admin"}]},{"m":[{"a":2,"u":24,"n":"Member"}]},{"m":[{"a":2,"u":75,"n":"Member"}]}]';
$getArrayJson = json_decode($str);
//echo "<pre>"; print_r($getArrayJson);
$requireValueArray = "";
foreach ($getArrayJson as $getkey => $getvalue) {
$requireValueArray[] = $getvalue->m[0]->u;
}
$yourjsonDecodeArray = json_encode($requireValueArray);
Комментарии:
1. как распечатать или повторить декодирование массива json, сэр? в {’34’,’3′,’44’,’24’,75} @ шубхам715
2. привет, @wee.ryo json_encode добавьте фигурные скобки ({) в многомерный массив, но если вы хотите добавить в свой массив, вы можете сделать ` $yourjsonDecodeArray = json_encode($requireValueArray); $yourjsonDecodeArray = str_replace(«[«, «{«, $ yourjsonDecodeArray); $yourjsonDecodeArray = str_replace(«]», «}», $yourjsonDecodeArray); ` а также не забудьте принять ответ, если это полезно для вас 🙂
3. подождите .. я имею в виду, если я вызову echo arrayjson[0], результат отобразится 34
4. вы должны сначала json_decode вашего массива и избегать, если вы уже это сделали, тогда вы можете выполнить echo arrayjson[0];
Ответ №2:
я получаю решение
$json = json_decode($str);
foreach ($json as $jkey) {
foreach($jkey->m as $row)
{
$arrayjson[] = $row->u;
}
}
в echo $ arrayjson [0] появится 34, $ arrayjson [1] появится 3 и т. Д. Спасибо @shubham715 за лампочку в моем сознании, хе-хе 🙂