拥有这个多维数组。如何删除此元素?
True
尝试了unset(),array_pop()但两者都不起作用。
unset()示例:
[1]=>
array(0) {
}
为什么显示它,不是数组(0)表示零元素的数组?它为什么存在?
echo "before\n";
var_dump($body['body'][0][1]);
unset($body['body'][0][1][1]);
echo "after\n";
var_dump($body['body'][0][1]);
before
array(4) {
["token_name"]=>
string(7) "C_BLOCK"
["token_group"]=>
string(7) "C_BLOCK"
["group"]=>
bool(true)
["body"]=>
array(2) {
[0]=>
array(1) {
[0]=>
array(5) {
["token_name"]=>
string(12) "C_CASE_BLOCK"
["token_group"]=>
string(12) "C_CASE_BLOCK"
["group"]=>
bool(true)
["args"]=>
array(1) {
[0]=>
array(6) {
["token_name_org"]=>
string(9) "T_LNUMBER"
["token"]=>
int(317)
["value"]=>
string(2) "10"
["line"]=>
int(4)
["token_group"]=>
string(9) "VARIABLES"
["token_name"]=>
string(8) "C_NUMBER"
}
}
["body"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(6) {
["token_name_org"]=>
string(6) "T_ECHO"
["token"]=>
int(328)
["value"]=>
string(4) "echo"
["line"]=>
int(5)
["token_group"]=>
string(9) "FUNCTIONS"
["token_name"]=>
string(6) "C_ECHO"
}
[1]=>
array(6) {
["token_name_org"]=>
string(26) "T_CONSTANT_ENCAPSED_STRING"
["token"]=>
int(323)
["value"]=>
string(4) "test"
["line"]=>
int(5)
["token_group"]=>
string(7) "STRINGS"
["token_name"]=>
string(8) "C_STRING"
}
}
}
}
}
[1]=>
array(0) {
}
}
}
after
array(4) {
["token_name"]=>
string(7) "C_BLOCK"
["token_group"]=>
string(7) "C_BLOCK"
["group"]=>
bool(true)
["body"]=>
array(2) {
[0]=>
array(1) {
[0]=>
array(5) {
["token_name"]=>
string(12) "C_CASE_BLOCK"
["token_group"]=>
string(12) "C_CASE_BLOCK"
["group"]=>
bool(true)
["args"]=>
array(1) {
[0]=>
array(6) {
["token_name_org"]=>
string(9) "T_LNUMBER"
["token"]=>
int(317)
["value"]=>
string(2) "10"
["line"]=>
int(4)
["token_group"]=>
string(9) "VARIABLES"
["token_name"]=>
string(8) "C_NUMBER"
}
}
["body"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(6) {
["token_name_org"]=>
string(6) "T_ECHO"
["token"]=>
int(328)
["value"]=>
string(4) "echo"
["line"]=>
int(5)
["token_group"]=>
string(9) "FUNCTIONS"
["token_name"]=>
string(6) "C_ECHO"
}
[1]=>
array(6) {
["token_name_org"]=>
string(26) "T_CONSTANT_ENCAPSED_STRING"
["token"]=>
int(323)
["value"]=>
string(4) "test"
["line"]=>
int(5)
["token_group"]=>
string(7) "STRINGS"
["token_name"]=>
string(8) "C_STRING"
}
}
}
}
}
[1]=>
array(0) {
}
}
}
答案 0 :(得分:3)
unset($body['body'][1]);
<强>更新强>
试试这个:
unset($body['body'][0][1]['body'][1]);
您需要取消设置正确的索引
答案 1 :(得分:0)
您可以尝试这样的事情:
$clear = array();
foreach($your_array_variable as $key=>$val){
$val = '';
$clear [$key] = $val;
}
的print_r($清楚); 参考:more
OR
foreach (my_array_keys($array, 'apple') as $key) {
unset($array[$key]);
}
OR
// destroy a single variable
unset($foo);
// destroy a single element of an array
unset($bar['body']);
// destroy more than one variable
unset($foo1, $foo2, $foo3);