現在の言語: 日本語 |
多次元配列の要素削除 |
配列関連 |
class test1
{
function test1():void
{
$ary =[
[1,2,3],
[4,5,6],
[7,8,9],
];
var_dump($ary);
/*
array(3) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
[1]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
[2]=>
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
}
*/
for($i=0; $i<3; $i++)
{
for($j=0; $j<3; $j++)
{
//配列の要素の中身を削除
//この状態では要素の中身だけを削除だけであり、行を削除したことにはなっていません
if($i==1)
{
//unsetでは要素のインデックスは自動では詰められません
unset($ary[$i][$j]);
}
}
}
var_dump($ary);
/*
array(3) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
[1]=>
array(0) {
}
[2]=>
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
}
*/
for($i=0; $i<3; $i++)
{
for($j=0; $j<3; $j++)
{
//配列の要素の中身を削除
//この状態では要素の中身だけを削除だけであり、行を削除したことにはなっていません
if($i==1)
{
//行データを削除したい場合は下記のように削除します
unset($ary[$i]);
}
}
}
var_dump($ary);
/*
array(2) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
[2]=>
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
}
*/
//番号を詰めたい場合: array_values($配列); を実行
$ary = array_values($ary);
var_dump($ary);
}
function test2():void
{
$ary = [
"A" => [
"A1" => [1,2,3],
"A2" => [4,5,6]
],
"B" => [
"B1" => [11,12,13],
"B2" => [14,15,16]
],
"C" => [
"C1" => [21,22,23],
"C2" => [24,25,26]
],
];
unset($ary["B"]["B1"]);
unset($ary["B"]["B2"]);
var_dump($ary);
/*
array(3) {
["A"]=>
array(2) {
["A1"]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
["A2"]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
}
["B"]=>
array(0) {
}
["C"]=>
array(2) {
["C1"]=>
array(3) {
[0]=>
int(21)
[1]=>
int(22)
[2]=>
int(23)
}
["C2"]=>
array(3) {
[0]=>
int(24)
[1]=>
int(25)
[2]=>
int(26)
}
}
}
*/
//行を削除するケース
unset($ary["B"]);
//番号を詰めたい場合: array_values($配列); を実行
$ary = array_values($ary);
var_dump($ary);
/*
array(2) {
[0]=>
array(2) {
["A1"]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
["A2"]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
}
[1]=>
array(2) {
["C1"]=>
array(3) {
[0]=>
int(21)
[1]=>
int(22)
[2]=>
int(23)
}
["C2"]=>
array(3) {
[0]=>
int(24)
[1]=>
int(25)
[2]=>
int(26)
}
}
}
*/
}
}
echo "<pre>";
$cls1= new test1();
$cls1->test1();
$cls1->test2();
echo "</pre>";
class test1
{
function test1():void
{
$ary =[
[1,2,3],
[4,5,6],
[7,8,9],
];
var_dump($ary);
/*
array(3) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
[1]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
[2]=>
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
}
*/
for($i=0; $i<3; $i++)
{
for($j=0; $j<3; $j++)
{
//Delete the contents of the array element.
//In this state, only the contents of the element are deleted; the row is not actually deleted.
if($i==1)
{
//Unset does not automatically fill the element index.
unset($ary[$i][$j]);
}
}
}
var_dump($ary);
/*
array(3) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
[1]=>
array(0) {
}
[2]=>
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
}
*/
for($i=0; $i<3; $i++)
{
for($j=0; $j<3; $j++)
{
//Delete the contents of the array element.
//At this stage, only the element contents are deleted; the row is not actually deleted.
if($i==1)
{
//To delete row data, use the following:
unset($ary[$i]);
}
}
}
var_dump($ary);
/*
array(2) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
[2]=>
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
}
*/
//To pad the numbers: Execute array_values($array);
$ary = array_values($ary);
var_dump($ary);
}
function test2():void
{
$ary = [
"A" => [
"A1" => [1,2,3],
"A2" => [4,5,6]
],
"B" => [
"B1" => [11,12,13],
"B2" => [14,15,16]
],
"C" => [
"C1" => [21,22,23],
"C2" => [24,25,26]
],
];
unset($ary["B"]["B1"]);
unset($ary["B"]["B2"]);
var_dump($ary);
/*
array(3) {
["A"]=>
array(2) { ["A1"]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
["A2"]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
}
["B"]=>
array(0) {
}
["C"]=>
array(2) {
["C1"]=>
array(3) {
[0]=>
int(21)
[1]=>
int(22)
[2]=>
int(23)
}
["C2"]=>
array(3) {
[0]=>
int(24)
[1]=>
int(25)
[2]=> int(26)
}
}
}
*/
//To delete a row
unset($ary["B"]);
//To pad the numbers: Execute array_values($array);
$ary = array_values($ary);
var_dump($ary);
/*
array(2) {
[0]=>
array(2) {
["A1"]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
["A2"]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
}
[1]=>
array(2) {
["C1"]=>
array(3) {
[0]=>
int(21)
[1]=>
int(22)
[2]=>
int(23)
}
["C2"]=>
array(3) {
[0]=>
int(24)
[1]=>
int(25)
[2]=>
int(26)
}
}
}
*/
}
}
echo "<pre>";
$cls1= new test1();
$cls1->test1();
$cls1->test2();
echo "</pre>";
| 著作権情報 |
| ホームページおよびアプリ等に掲載されている情報等については、いかなる保障もいたしません。 ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、 または公開したりすることはできません。 当方は、ホームページおよびアプリ等を利用したいかなる理由によっての障害等が発生しても、 その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について 一切の責任を負わないものとします。 |