まず、私が見つけたものをリストする必要があります
配列要素を削除してから配列のインデックスを再作成する方法は?
私の場合、それらは意味がありませんでした。私はばかげた要求に陥り、方法を見つけることを余儀なくされました。なぜ私がそれをしたいのか私に聞かないでください.
以下の配列があります
$input = array(
0=>array('a', 'b'=>array('c')),
1=>array('b', 'c'=>array('d')),
2=>array('c', 'd'=>array('e')),
);
すべてのキーを 1 増やしたい、または 1 減らしたい (インデックスに許容できるのは負の int 数値)
これが期待される結果です
//after increased by 1
$input = array(
1=>array('a', 'b'=>array('c')),
2=>array('b', 'c'=>array('d')),
3=>array('c', 'd'=>array('e')),
);
また
//after decreased by 1
$input = array(
-1=>array('a', 'b'=>array('c')),
0=>array('b', 'c'=>array('d')),
1=>array('c', 'd'=>array('e')),
);
配列内のすべてのキーを 1ずつ増やす方法は ?
$arr = array_flip(array_map(function($el){ return $el + 1; }, array_flip($arr)));
ただし、単純な配列キーペアでのみ機能します。配列値が文字列または整数ではなく他の配列である場合、例外が発生します
array_flip(): Can only flip STRING and INTEGER values!
私が考えることができるのは、配列を処理して名簿を手動で交換することです。他の回避策がなければ、それが最終的な方法になります。
どんな助けでも大歓迎です!