如何在PHP中删除数组大括号?
我有一个数组-如下所示,它由数组标记组成。我想删除最外层的数组括号,它在我的JSON数据中添加了一个额外的方括号。我试图通过执行$aaray[0]、$array[1]……来减少一个括号,但我对这个解决方案不满意,因为我必须运行一个额外的for循环,这会干扰我的外部foreach循环如何在PHP中删除数组大括号?,php,arrays,Php,Arrays,我有一个数组-如下所示,它由数组标记组成。我想删除最外层的数组括号,它在我的JSON数据中添加了一个额外的方括号。我试图通过执行$aaray[0]、$array[1]……来减少一个括号,但我对这个解决方案不满意,因为我必须运行一个额外的for循环,这会干扰我的外部foreach循环 $value['ranges'] = array( array( 'monthindex' => $numOfmonths,
$value['ranges'] =
array(
array(
'monthindex' => $numOfmonths,
'laps' => $value['recurring_by'],
'start' => "a1",
'end' => "a2",
),
array(
'monthindex' => $numOfmonths,
'laps' => $value['recurring_by'],
'start' => "b1",
'end' => "b2",
)
);
// $numOfmonths--;
$monthItems[] = $value;
如果要查看print_r()格式,请参阅更多说明
在将$value分配给$monthItems[]之前,是否有任何方法可以删除最外层的数组()?非常感谢您的帮助。
$value['ranges']
只能有一个值
当前该值是一个数组。该数组包含两个值
如果删除了该数组,则只能将这两个值中的一个分配给$value['ranges']
因此,如果不删除外部数组所包含的两个值中的一个,则无法删除外部数组。添加您的代码或您想要的o/p而不添加最外部数组如何存储两个数组?@Priyank,是否需要其他代码或0/p指的是什么?@AkshayHegde,实际上此代码是在foreachloop中执行的,在运行时我们可以减少一个[]并分配$monthItems[]=$value@Verdu请准确地告诉我上述问题的o/p是的,这就是实际发生的情况。
<?php
$ary['ranges'][] = ['monthindex'=>3, 'laps'=>2, 'start'=>'a1', 'end'=>'a2'];
$ary['ranges'][] = ['monthindex'=>3, 'laps'=>2, 'start'=>'b1', 'end'=>'b2', 'test'=>['a'=>['b'=>1]]];
function deep_scan_array( $ary, $count=0 ) {
if(is_array($ary)) {
foreach($ary as $key=>$item){
if(is_array($item)){
echo str_repeat("\t", $count);
echo "[$key] => array\n";
deep_scan_array($item, $count+1);
}else{
echo str_repeat("\t", $count);
echo "[$key]=>$item\n";
}
}
}
}
echo '<pre>';
print_r($ary);
deep_scan_array($ary);
<?php
$ary['ranges'][] = ['monthindex'=>3, 'laps'=>2, 'start'=>'a1', 'end'=>'a2'];
$ary['ranges'][] = ['monthindex'=>3, 'laps'=>2, 'start'=>'b1', 'end'=>'b2', 'test'=>['a'=>['b'=>1]]];
function deep_scan_array( $ary, $count=0 ) {
if(is_array($ary)) {
foreach($ary as $key=>$item){
if(is_array($item)){
echo str_repeat("\t", $count);
echo "[$key] => array\n";
deep_scan_array($item, $count+1);
}else{
echo str_repeat("\t", $count);
echo "[$key]=>$item\n";
}
}
}
}
echo '<pre>';
print_r($ary);
deep_scan_array($ary);
[ranges] => array
[0] => array
[monthindex]=>3
[laps]=>2
[start]=>a1
[end]=>a2
[1] => array
[monthindex]=>3
[laps]=>2
[start]=>b1
[end]=>b2
[test] => array
[a] => array
[b]=>1