array_splice ֆունկցիան
array_splice ֆունկցիան կտրում և վերադարձնում է
զանգվածի մի մասը: Այս դեպքում կտրված մասը
անհետանում է զանգվածից: Կտրված մասի փոխարեն
կարելի է տեղադրել նոր տարրեր:
Առաջին պարամետրով նշվում է կտրման համար նախատեսված զանգվածը: Երկրորդ պարամետրով նշվում է, թե որ տարրից սկսել կտրումը, իսկ երրորդ պարամետրով՝ քանի տարր կտրել: Երրորդ պարամետրը կարող է բացասական լինել - այս դեպքում հաշվարկը կսկսվի վերջից (-1 - վերջին տարր, -2 - նախավերջին և այլն): Երրորդ պարամետրը ընդհանրապես կարելի է չնշել - այս դեպքում զանգվածը կկտրվի մինչև ամենավերջ:
Վերջին ընտրանքային պարամետրում կարելի է նշել այն տարրերի զանգվածը, որոնք կտեղադրվեն ջնջվածների փոխարեն:
Շարահյուսություն
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Օրինակ
Եկեք կտրենք առաջին (ունի
համարանիշ 0), 3 հատ տարրեր:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Կոդի կատարման արդյունքը.
['a', 'b', 'c']
Այս դեպքում $arr զանգվածը կունենա հետևյալ տեսքը.
['d', 'e']
Օրինակ
Եկեք կտրենք երկրորդ (ունի
համարանիշ 1), 3 հատ տարրեր.
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Կոդի կատարման արդյունքը.
['b', 'c', 'd']
Այս դեպքում $arr զանգվածը կունենա հետևյալ տեսքը.
['a', 'e']
Օրինակ
Եկեք կտրենք երկրորդ (ունի համարանիշ 1) մինչև զանգվածի ավարտը: Դրա համար երրորդ պարամետրը չենք գրում.
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Կոդի կատարման արդյունքը.
['b', 'c', 'd', 'e']
Այս դեպքում $arr զանգվածը կունենա հետևյալ տեսքը.
['a']
Օրինակ
Եկեք կտրենք նախավերջինից սկսած,
2 հատ տարրեր: Դրա համար երկրորդ պարամետրը
կդնենք -2 (նախավերջին տարրի
դիրքը).
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Կոդի կատարման արդյունքը.
['d', 'e']
Այս դեպքում $arr զանգվածը կունենա հետևյալ տեսքը.
['a', 'b', 'c']
Օրինակ
Եկեք կտրենք երկրորդ (ունի
համարանիշ 1), 2 հատ տարրեր, իսկ փոխարենը տեղադրենք
1, 2, 3 տարրերը.
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Կոդի կատարման արդյունքը.
['b', 'c']
Այս դեպքում $arr զանգվածը կունենա հետևյալ տեսքը.
['a', 1, 2, 3, 'd', 'e']
Օրինակ
Եկեք ընդհանրապես ոչինչ չկտրենք,
այլ պարզապես տեղադրենք 1, 2,
3 տարրերը սկսած 1 դիրքից: Դրա
համար երրորդ պարամետրը դրվում է զրո.
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Կոդի կատարման արդյունքը.
[]
Այս դեպքում $arr զանգվածը կունենա հետևյալ տեսքը.
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Տես նաև
-
array_sliceֆունկցիան,
որը կտրում է զանգվածի մի մասը՝ չփոխելով բուն զանգվածը