Php Json Array Unset не работает

  array(1) {
["value"] => array(1000) {
[0]=> array(9) {
["PartitionKey"]=> string(11)"AWT-GPI.com"["RowKey"]=> string(36) "0024a6ac-6cf1-454a-91b2-15bfec3a3d86"["Timestamp"]=> string(28) "2016-09-09T20:16:26.8674483Z"["Email"]=> string(20) "[email protected]"["First_Name"]=> string(8) "Jennifer"["Hash"]=> string(32) "d656d0c21b8f3c14fe03232bb68d1b53"["IP_1"]=> string(0) ""["Last_Name"]=> string(5) "Young"["Username"]=> string(9) "flacobell"}
[1]=> array(9) {
["PartitionKey"]=> string(11) "AWT-GPI.com"["RowKey"]=> string(36) "002c00c4-e064-43e8-9dd8-319c8d6663bd"["Timestamp"]=> string(28) "2016-09-09T20:19:54.5500874Z"["Email"]=> string(22) "[email protected]"["First_Name"]=> string(1) "G"["Hash"]=> string(32) "1444a7b2c86506158013d1175137eede"["IP_1"]=> string(0) "" ["Last_Name"]=> string(6) "Wilson"["Username"]=> string(13) "misterspeed76"}
}
}

Это массив, использующий этот код

$count = count($null_check);
for ($i = 0; $data < $count; $i++) {
foreach ($null_check['value'][$i] as $key => $data) {
$parsed_key = str_replace('_', ' ', $key);
echo $parsed_key.': '.$data.'<br>';
}
echo '<br><br>';
}

Я могу получить этот вывод

PartitionKey: AWT-GPI.com
RowKey: 0024a6ac-6cf1-454a-91b2-15bfec3a3d86
Timestamp: 2016-09-09T20:16:26.8674483Z
Email: [email protected]
First Name: Jennifer
Hash: d656d0c21b8f3c14fe03232bb68d1b53
IP 1:
Last Name: Young
Username: flacobellPartitionKey: AWT-GPI.com
RowKey: 002c00c4-e064-43e8-9dd8-319c8d6663bd
Timestamp: 2016-09-09T20:19:54.5500874Z
Email: [email protected]
First Name: G
Hash: 1444a7b2c86506158013d1175137eede
IP 1:
Last Name: Wilson
Username: misterspeed76

Теперь хочу сбросить RowKey а также TimestampОднако, когда я делаю в foreach заявление

unset($null_check['RowKey'];

Это не работает, я создаю отдельную для каждого снаружи или внутри, не работает, я использую значение, назначенное в foreach не работает Буквально ничего не работает. Это только часть, у меня есть еще около 30, как это. Все тот же формат, я просто хочу удалить RowKey а также Timestamp Ключ, как бы я это сделал?

0

Решение

Используйте этот код

$count = count($null_check);
for ($i = 0; $i <= $count; $i++) {
foreach ($null_check['value'][$i] as $key => $data) {
$parsed_key = str_replace('_', ' ', $key);
echo $parsed_key.': '.$data.'<br>';
if(in_array($key,array('RowKey','Timestamp'))){
unset($null_check['value'][$i][$key]);
}
}
echo '<br><br>';
}
echo '<pre>';
print_r($null_check);
echo '</pre>';
0

Другие решения

Ты можешь использовать unset() или же array_diff_key()вот как: (просто поменяй \nк <br>«S)

(демонстрация)

Входные данные:

$array=[
"value"=>[
["PartitionKey"=>"AWT-GPI.com",
"RowKey"=>"0024a6ac-6cf1-454a-91b2-15bfec3a3d86",
"Timestamp"=>"2016-09-09T20:16:26.8674483Z",
"Email"=>"[email protected]",
"First_Name"=>"Jennifer",
"Hash"=>"d656d0c21b8f3c14fe03232bb68d1b53",
"IP_1"=>"",
"Last_Name"=>"Young",
"Username"=>"flacobell"],
["PartitionKey"=>"AWT-GPI.com",
"RowKey"=>"002c00c4-e064-43e8-9dd8-319c8d6663bd",
"Timestamp"=>"2016-09-09T20:19:54.5500874Z",
"Email"=>"[email protected]",
"First_Name"=>"G",
"Hash"=>"1444a7b2c86506158013d1175137eede",
"IP_1"=>"",
"Last_Name"=>"Wilson",
"Username"=>"misterspeed76"]
]
];

Способ № 1:

foreach($array['value'] as $subarray){
foreach(array_diff_key($subarray,['RowKey'=>'','Timestamp'=>'']) as $k=>$v){  // does not modify $array
echo str_replace('_',' ',$k)," : $v\n";
}
echo "\n";
}

Способ № 2:

echo "\n---\n";

foreach($array['value'] as $subarray){
unset($subarray['RowKey'],$subarray['Timestamp']);  // does not modify $array
foreach($subarray as $k=>$v){
echo str_replace('_',' ',$k)," : $v\n";
}
echo "\n";
}

Выход:

PartitionKey : AWT-GPI.com
Email : [email protected]
First Name : Jennifer
Hash : d656d0c21b8f3c14fe03232bb68d1b53
IP 1 :
Last Name : Young
Username : flacobell

PartitionKey : AWT-GPI.com
Email : [email protected]
First Name : G
Hash : 1444a7b2c86506158013d1175137eede
IP 1 :
Last Name : Wilson
Username : misterspeed76---
PartitionKey : AWT-GPI.com
Email : [email protected]
First Name : Jennifer
Hash : d656d0c21b8f3c14fe03232bb68d1b53
IP 1 :
Last Name : Young
Username : flacobell

PartitionKey : AWT-GPI.com
Email : [email protected]
First Name : G
Hash : 1444a7b2c86506158013d1175137eede
IP 1 :
Last Name : Wilson
Username : misterspeed76
0

По вопросам рекламы [email protected]