PHP අරාව අගය අනුව මකා දමන්න (යතුර නොවේ)


909

මට පහත පරිදි PHP අරාවක් ඇත:

$messages = [312, 401, 1599, 3, ...];

අගය අඩංගු මූලද්‍රව්‍යය මකා දැමීමට මට අවශ්‍යය $del_val(උදාහරණයක් ලෙස $del_val=401), නමුත් එහි යතුර මම නොදනිමි. මෙය උදව් විය හැකිය: සෑම අගයක්ම පැවතිය හැක්කේ එක් වරක් පමණි .

කරුණාකර මෙම කාර්යය ඉටු කිරීම සඳහා සරලම කාර්යය මම සොයමි.


1
D ඇඩම් ස්ට්‍රඩ්වික් නමුත් ඔබට මෙම අරාවෙහි බොහෝ මකාදැමීම් තිබේ නම්, එය එක් වරක් නැවත කියවා එහි යතුර වටිනාකමට සමාන කිරීම වඩා හොඳද?
dzona


Answers:


1605

භාවිතා array_search()සහ unset, පහත සඳහන් කරන්න:

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}

array_search()එය සොයාගත් මූලද්‍රව්‍යයේ යතුර නැවත ලබා දෙයි, එමඟින් එම මූලද්‍රව්‍යය මුල් අරාවෙන් ඉවත් කිරීමට භාවිතා කළ හැකිය unset(). එය FALSEඅසාර්ථක වූ විට නැවත පැමිණෙනු ඇත, කෙසේ වෙතත් එයට සාර්ථකත්වය මත ව්‍යාජ- y අගයක් ලබා දිය හැකිය (ඔබේ යතුර 0උදාහරණයක් ලෙස විය හැකිය ), එබැවින් දැඩි සංසන්දනාත්මක !==ක්‍රියාකරු භාවිතා කරන්නේ එබැවිනි .

මෙම if()ප්රකාශය යන්න පරීක්ෂා කරනු ඇත array_search()නැවත අගය, සහ එය කළා නම් පමණක් ක්රියාව සිදු වනු ඇත.


14
$ Messages = array_diff ($ messages, array ($ del_val)) ද වැඩ කරයිද? කාර්ය සාධනය තුළ එය වඩා හොඳ වේද?
ඇඩම් ස්ට්‍රඩ්වික්

9
D ඇඩම් එය පරීක්ෂා නොකරන්නේ ඇයි? මගේ හැඟීම නම් array_diff()එය වෙන විදිහට මන්දගාමී වනු දෙකක් සංසන්දනය තුලින් සරලව සොයමින් නැහැ, පෙලගැස්මක් එක් වැනි array_search().
බොජැන්ගල්ස්

22
මෙය වලංගු වුවද, ඔබ එවැනි ප්‍රකාශ වල අගයන් පැවරීමෙන් වැළකී සිටිය යුතුය. එය ඔබව කරදරයට පත් කරනු ඇත.
adlawson

17
නම් කුමක් $keyවේ 0?
එවාන්

16
ඔබ සොයන වටිනාකමේ යතුරක් 0හෝ වෙනත් ව්‍යාජ අගයක් තිබේ නම්, එය අගය සැකසෙන්නේ නැති අතර ඔබේ කේතය ක්‍රියා නොකරනු ඇත. ඔබ පරීක්ෂා කළ යුතුයි $key === false. (සංස්කරණය කරන්න- ඔබට එය ලැබුණි)
එවාන්

695

හොඳයි, අරාවෙන් මූලද්‍රව්‍යයක් මකා දැමීම මූලික වශයෙන් එක් මූලද්‍රව්‍යයක් සමඟ වෙනස සකසයි.

array_diff( [312, 401, 15, 401, 3], [401] ) // removing 401 returns [312, 15, 3]

එය මනාව සාමාන්‍යකරණය කරයි, ඔබට අවශ්‍ය නම් එකවර ඔබට අවශ්‍ය තරම් මූලද්‍රව්‍ය ඉවත් කළ හැකිය.

වියාචනය: මගේ විසඳුම අරාවෙහි නව පිටපතක් නිපදවන අතර පරණ එක විකෘති වන පිළිගත් පිළිතුරට පටහැනිව තබා ගනී. ඔබට අවශ්‍ය එක තෝරන්න.


32
මෙය ක්‍රියාත්මක වන්නේ නූල් බවට පරිවර්තනය කළ හැකි වස්තූන් සඳහා පමණි
nischayn22

7
මම ඒ වෙනුවට [$element]භාවිතා කළෙමි යැයි කීම සඳහා 'විග්‍රහ දෝෂයක්' ඇති බව පෙනේ array($element). ලොකු දෙයක් නැහැ, නමුත් ඒ හා සමාන ප්‍රශ්නයක් ඇති ඕනෑම කෙනෙකුට ඔවුන් තනිවම නොවන බව දැනගැනීමට අවශ්‍යයි
අංගද්

8
පැරණි අංකනය අතහැර දැමීමට PHP 5.4 දැන් බහුතරයක් ඇතැයි මම සිතමි. ප්‍රකාශයට ස්තූතියි.
රොක් ක්‍රල්ජ්

22
කිසියම් හේතුවක් නිසා එහි සමානාත්මතා තත්ත්වය ලෙස array_diffභාවිතා (string) $elem1 === (string) $elem2කරන බව සඳහන් කිරීම වටී , $elem1 === $elem2ඔබ අපේක්ෂා කළ පරිදි නොවේ. Is nischayn22 විසින් පෙන්වා දී ඇති ගැටළුව මෙහි ප්‍රති ence ලයකි. අත්තනෝමතික මූලද්‍රව්‍යයන්ගේ (වස්තූන් විය හැකි) අරා සඳහා ක්‍රියා කරන උපයෝගිතා ශ්‍රිතයක් ලෙස ඔබට යමක් භාවිතා කිරීමට අවශ්‍ය නම්, බොජැන්ගල්ගේ පිළිතුර මෙම හේතුව නිසා වඩා හොඳ විය හැකිය.
මාර්ක් අමරි

4
මෙම ක්‍රමය මඟින් එක් එක් තර්කය සඳහා අභ්‍යන්තරව වර්ග කිරීමක් සිදු කරන array_diff()අතර එමඟින් O (n) සිට O (n lg n) දක්වා ධාවන කාලය නිරුවත් කරයි.
ජාක්

118

එක් රසවත් ක්‍රමයක් වන්නේ array_keys():

foreach (array_keys($messages, 401, true) as $key) {
    unset($messages[$key]);
}

මෙම array_keys()කාර්යය යම් අගය හා දැඩි පරීක්ෂාවට (එනම් සැසඳීම් සඳහා භාවිතා ===) අවශ්ය වේ දැයි යතුරු පමණක් නැවත අතිරේක පරාමිතීන් දෙක ගනී.

එකම අගයක් සහිත (උදා [1, 2, 3, 3, 4]) බහුවිධ අරා අයිතමද මෙයින් ඉවත් කළ හැකිය .


3
@ blasteralfredΨ රේඛීය සෙවුමක් O (n); එය ගැටලුවක් යැයි ඔබ සිතන්නේ ඇයිදැයි මට විශ්වාස නැත.
ජාක්

1
ඔව්, බහු අරාව අයිතම / යතුරු තේරීම සඳහා මෙය is ලදායී වේ.
ඔකී ඊරි රිනාල්ඩි

3
සියලු අද්විතීය අගයන් අඩංගු නොවන අරා සඳහා මෙය හොඳම වේ.
ඩෙරෝකෝරියන්

ගැටළුව වන්නේ එය යතුරු යතුරු වල දර්ශකය අතහැර යාමයි: [0] - a, [2] - b ([1] අතුරුදහන් නමුත් අරාව තවමත් එය මග හැරී ඇත)
රොඩ්නිකෝ

3
Od රොඩ්නිකෝ ඔබට අවශ්‍ය වන්නේද array_values(); ඉතිරි යතුරු තවමත් එකම අනුපිළිවෙලෙහි පවතී, එබැවින් තාක්ෂණික වශයෙන් එය "
වර්ගීකරණය නොකෙරේ

56

ඔබේ අරාවෙහි අඩංගු වන්නේ එම අගය සහිත එක් අංගයක් පමණක් බව ඔබ නිශ්චිතව දන්නේ නම්, ඔබට එය කළ හැකිය

$key = array_search($del_val, $array);
if (false !== $key) {
    unset($array[$key]);
}

කෙසේ වෙතත්, ඔබේ අගය ඔබගේ අරාවෙහි එක් වරකට වඩා සිදුවිය හැකි නම්, ඔබට මෙය කළ හැකිය

$array = array_filter($array, function($e) use ($del_val) {
    return ($e !== $del_val);
});

සටහන: දෙවන විකල්පය ක්‍රියාත්මක වන්නේ වසා දැමීම් සමඟ PHP5.3 + සඳහා පමණි


41
$fields = array_flip($fields);
unset($fields['myvalue']);
$fields = array_flip($fields);

11
මෙය ක්‍රියාත්මක වන්නේ ඔබ ඉවත් කිරීමට උත්සාහ කරන අගයන් හැර ඔබේ අරාවෙහි අනුපිටපත් අගයන් නොමැති විට පමණි.
jberculo

2
bjberculo සහ සමහර විට ඔබට අවශ්‍ය දේ හරියටම, සමහර අවස්ථාවල එය අද්විතීය ලෙස අරාව කිරීම මට ඉතිරි කරයි
DarkMukke

සමහර විට, නමුත් මම ඒ සඳහා විශේෂයෙන් නිර්මාණය කර ඇති කාර්යයන් භාවිතා කරමි, මූලික වශයෙන් භාවිතා කරන හා වෙනත් දෙයක් සඳහා අදහස් කරන ශ්‍රිතයක වාසනාවන්ත අතුරු ආබාධයක් වෙනුවට. එමඟින් ඔබේ කේතය අඩු විනිවිදභාවයකින් යුක්ත වේ.
jberculo

පණිවුඩයේ සඳහන් වන්නේ “සෑම අගයක්ම පැවතිය හැක්කේ එක් වරක් පමණි” මෙය ක්‍රියාත්මක විය යුතු බවයි. එම පෝස්ටරය වුවද smae විචල්ය නම් භාවිතා කර ඇති අතර, කුඩා explenation එකතු නම් එය කදිම වනු ඇත
Raatje

2
පෙනෙන ආකාරයට මෙය තෝරාගත් විසඳුමට සාපේක්ෂව වේගවත් වේ, මම කුඩා මිණුම් සලකුණු කළෙමි.

26

හොඳම ක්‍රමය නම් array_splice

array_splice($array, array_search(58, $array ), 1);

හොඳම දේ සඳහා හේතුව http://www.programmerinterview.com/index.php/php-questions/how-to-delete-an-element-from-an-array-in-php/


4
යතුරු වල හිඩැස් ඇති සහායක අරා සහ අරා මත මෙය ක්‍රියා නොකරනු ඇත, උදා [1, 2, 4 => 3].
ජාක්

කණගාටුයි, මෙය ක්‍රියාත්මක වනු ඇත. කරුණාකර මා සබැඳිය ලබා දී ඇති ලිපිය කියවන්න
Airy

4
එය එසේ නොවේ. මගේ ඉහත අදහස් දැක්වීමේ අරාව සලකා බලන්න; අගය ඉවත් කිරීමට මම ඔබේ කේතය භාවිතා කළ පසු 3, අරාව වනු ඇත [1, 2, 3]; වෙනත් වචන වලින් කිවහොත්, අගය ඉවත් කර නැත. පැහැදිලිව කිවහොත්, මම කියන්නේ නැහැ එය සෑම අවස්ථාවකම අසමත් වන බව, මෙය පමණක්.
ජාක්

1
array_splice හොඳම ක්‍රමයයි, මකාදැමීමෙන් පසු අරාව දර්ශක
සැකසෙන්නේ නැත

22

හෝ සරලව, අතින් ක්‍රමයක්:

foreach ($array as $key => $value){
    if ($value == $target_value) {
        unset($array[$key]);
    }
}

මෙය ඔබගේ ආරක්‍ෂාව පිළිබඳ පූර්ණ පාලනයක් ඇති බැවින් ඒවායින් ආරක්ෂිත වේ


1
array_splice()ඒ වෙනුවට භාවිතා කිරීම unset()අරාව දර්ශක ද නැවත සකසනු ඇත, එය මෙම අවස්ථාවේ දී වඩා හොඳ විය හැකිය.
ඩැනියෙල් ඕර්ලන්ඩෝ

16
function array_remove_by_value($array, $value)
{
    return array_values(array_diff($array, array($value)));
}

$array = array(312, 401, 1599, 3);

$newarray = array_remove_by_value($array, 401);

print_r($newarray);

ප්‍රතිදානය

Array ( [0] => 312 [1] => 1599 [2] => 3 )


2
මෙම විසඳුමට බහු ක්‍රියාකාරී ඇමතුම් ඇතුළත් වන බැවින් මෙය වේගවත් දැයි මට විශ්වාස නැත.
ජූලියන් පාවුලෝ දයාග්

කේත-පමණක් පිළිතුරු තොග පිටාර ගැලීම මත අඩු අගයක් ගනී. සෑම පිළිතුරකටම එය ක්‍රියාත්මක වන ආකාරය පිළිබඳ පැහැදිලි කිරීමක් ඇතුළත් විය යුතුය.
mickmackusa

13

ඔබට කළ හැකිය:

unset($messages[array_flip($messages)['401']]);

පැහැදිලි කිරීම : 401අරාව පෙරළීමෙන් පසු යතුර ඇති මූලද්‍රව්‍යය මකන්න .


ඔබට රාජ්යය ආරක්ෂා කිරීමට අවශ්ය නම් ඔබ ඉතා ප්රවේශම් විය යුතුය. අනාගත කේත සියල්ලටම යතුරු වෙනුවට අගයන් තිබිය යුතු බැවිනි.
saadlulu

1
array_flip () මුල් අරාට බලපාන්නේ නැති නිසා @saadlulu $ පණිවිඩ අරාව පෙරළෙන්නේ නැත, එබැවින් පෙර පේළිය යෙදීමෙන් පසුව ලැබෙන අරාව සමාන වනු ඇත හැර අනවශ්‍ය ප්‍රති result ල ඉවත් කරනු ලැබේ.
කුරෂි

2
මෙය නිවැරදි දැයි විශ්වාස නැත, එහි අගය සහිත මූලද්‍රව්‍ය කිහිපයක් තිබේ නම් කුමක් කළ 401යුතුද?
සිප්

මෙය තවමත් යතුරු ආරක්ෂා කරයි.
සාබොල්ක්ස් පෝල්

8

බහු අගයන් මකා දැමීමට මෙය උත්සාහ කරන්න:

while (($key = array_search($del_val, $messages)) !== false) 
{
    unset($messages[$key]);
}

2
මෙය එක් වරක් ආදානය හරහා ලූප් කිරීමට වඩා අඩු කාර්යක්ෂම වනු ඇත (මෙය සිදු කිරීම සඳහා විවිධ මෙවලම් තිබේ). ඔබ මූලද්‍රව්‍ය 10 ක් සමඟ සුචිගත කරන ලද අරාව නැවත සකසමින් සිටින බව සිතන්න. ඔබට 4 සහ 8 දර්ශකවල ඇති මූලද්‍රව්‍ය ඉවත් කිරීමට අවශ්‍ය වේ. මෙය 0 සිට 4 දක්වා නැවත සැකසෙනු ඇත, පසුව සැකසූ මූලද්‍රව්‍යය [4], පසුව එය 0 සිට 8 දක්වා නැවත සැකසෙනු ඇත, පසුව සැකසූ මූලද්‍රව්‍යය [ 8]. මෙම තාක්ෂණය අනවශ්‍ය ලෙස [0], [1], [2], [3] එක් වරකට වඩා පරීක්ෂා කරන්නේ කෙසේදැයි බලන්න. කිසිම හේතුවක් නිසා මම කිසි විටෙකත් මෙම තාක්ෂණය භාවිතා නොකරන අතර සියලුම පර්යේෂකයන් මෙම පිළිතුරෙන් පුළුල් උපතක් ලබා ගැනීමට මම නිර්දේශ කරමි. (මගේ DV සඳහා හේතුව මෙයයි)
mickmackusa

6

Underscore.JS _.reject හි තර්කනය ණයට ගෙන ශ්‍රිත දෙකක් නිර්මාණය කළේය (මිනිසුන් ශ්‍රිතවලට වැඩි කැමැත්තක් දක්වයි !!)

array_reject_value: මෙම ශ්‍රිතය නිශ්චිතව දක්වා ඇති අගය ප්‍රතික්ෂේප කරයි (PHP4,5,7 සඳහාද ක්‍රියා කරයි)

function array_reject_value(array &$arrayToFilter, $deleteValue) {
    $filteredArray = array();

    foreach ($arrayToFilter as $key => $value) {
        if ($value !== $deleteValue) {
            $filteredArray[] = $value;
        }
    }

    return $filteredArray;
}

array_reject: මෙම ශ්‍රිතය හුදෙක් කැඳවිය හැකි ක්‍රමය ප්‍රතික්ෂේප කරයි (PHP> = 5.3 සඳහා ක්‍රියා කරයි)

function array_reject(array &$arrayToFilter, callable $rejectCallback) {

    $filteredArray = array();

    foreach ($arrayToFilter as $key => $value) {
        if (!$rejectCallback($value, $key)) {
            $filteredArray[] = $value;
        }
    }

    return $filteredArray;
}

එබැවින් අපගේ වර්තමාන උදාහරණයේ දී අපට ඉහත කාර්යයන් පහත පරිදි භාවිතා කළ හැකිය:

$messages = [312, 401, 1599, 3, 6];
$messages = array_reject_value($messages, 401);

හෝ ඊටත් වඩා හොඳය: (මෙය අපට array_filter වැනි භාවිතා කිරීමට වඩා හොඳ වාක්‍ය ඛණ්ඩයක් ලබා දෙයි )

$messages = [312, 401, 1599, 3, 6];
$messages = array_reject($messages, function ($value) {
    return $value === 401;
});

ඉහත සඳහන් දේ වඩාත් සංකීර්ණ දේවල් සඳහා භාවිතා කළ හැකිය, 401 ට වඩා වැඩි හෝ සමාන සියලු අගයන් ඉවත් කිරීමට අපි කැමතියි යැයි කියමු.

$messages = [312, 401, 1599, 3, 6];
$greaterOrEqualThan = 401;
$messages = array_reject($messages, function ($value) use $greaterOrEqualThan {
    return $value >= $greaterOrEqualThan;
});

2
මෙය ප්‍රතිනිර්මාණය කරන පෙරණය නොවේද? php.net/manual/en/function.array-filter.php
රිචඩ්

ඔව්. මම දැනටමත් ලිපියේ සඳහන් කර ඇති පරිදි "හෝ ඊටත් වඩා හොඳය: (මෙය අපට අරේ_ෆිල්ටර් වැනි භාවිතා කිරීමට වඩා හොඳ වාක්‍ය ඛණ්ඩයක් ලබා දෙයි)". සමහර විට ඔබට සැබවින්ම අවතක්සේරු කිරීමක් ලෙස ශ්‍රිතය ප්‍රතික්ෂේප කළ යුතු අතර එය ඇත්ත වශයෙන්ම පෙරනයේ ප්‍රතිවිරුද්ධ දෙයයි (තවද ඔබට එය හැකි තරම් අඩු කේතයකින් ලබා ගත යුතුය). කාර්යයන් කරන්නේ මෙයයි. සාරධර්ම ප්‍රතික්ෂේප කිරීමට මෙය සරල ක්‍රමයකි.
ජෝන් ස්කොම්බෝර්ඩිස්

4

පිළිගත් පිළිතුර අරාව අනුබද්ධ අරාව බවට පරිවර්තනය කරයි, එබැවින්, පිළිගත් පිළිතුර සමඟ එය අනුබද්ධ නොවන අරාවක් ලෙස තබා ගැනීමට ඔබ කැමති නම්, ඔබටද භාවිතා array_valuesකිරීමට සිදුවනු ඇත .

if(($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
    $arr = array_values($messages);
}

යොමුව මෙහි ඇත


4

මෙය කිසිසේත්ම කාර්යක්ෂම නොවන නමුත් සරල, බුද්ධිමත් හා කියවීමට පහසු බව මම දනිමි.
එබැවින් යමෙකු වැඩි වටිනාකම් හෝ වඩාත් විශේෂිත කොන්දේසි සමඟ වැඩ කිරීම සඳහා දීර් can කළ හැකි එතරම් විසිතුරු නොවන විසඳුමක් සොයන්නේ නම් .. මෙන්න සරල කේතයකි:

$result = array();
$del_value = 401;
//$del_values = array(... all the values you don`t wont);

foreach($arr as $key =>$value){
    if ($value !== $del_value){
        $result[$key] = $value;
    }

    //if(!in_array($value, $del_values)){
    //    $result[$key] = $value;
    //}

    //if($this->validete($value)){
    //      $result[$key] = $value;
    //}
}

return $result

4

ඊතල ශ්‍රිත භාවිතා කරමින් PHP 7.4 සමඟ:

$messages = array_filter($messages, fn ($m) => $m != $del_val);

එය අනුබද්ධ නොවන අරාවක් තබා ගැනීමට එය සමඟ ඔතා array_values():

$messages = array_values(array_filter($messages, fn ($m) => $m != $del_val));

3

ඔබගේ අවශ්‍යතාවයට අනුව “ එක් එක් අගයක් පැවතිය හැක්කේ එක් වරක් පමණි ” ඔබ ඔබේ අරාවෙහි අද්විතීය අගයන් තබා ගැනීමට උනන්දු වන්නේ නම්, එවිට array_unique()ඔබ සොයන දේ විය හැකිය.

ආදානය:

$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);

ප්‍රති ult ලය:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

1
මෙම සටහන IN NO WAY OP හි ප්‍රශ්නයට පිළිතුරු සපයයි. වෙනස් ප්‍රශ්නයකට නිවැරදි පිළිතුර මෙයයි. (මගේ DV සඳහා හේතුව මෙයයි)
mickmackusa

2

ඔබ එහි යතුර නොදන්නේ නම් එයින් අදහස් වන්නේ එය වැදගත් නොවන බවයි.

ඔබට අගය යතුර ලෙස තැබිය හැකිය, එයින් අදහස් කරන්නේ එය ක්ෂණිකව වටිනාකම සොයා ගන්නා බවයි. නැවත නැවතත් සියලු අංග සෙවීම භාවිතා කිරීමට වඩා හොඳය.

$messages=array();   
$messages[312] = 312;    
$messages[401] = 401;   
$messages[1599] = 1599;   
$messages[3] = 3;    

unset($messages[3]); // no search needed

ක්‍රියා කරන්නේ නූල් බවට පරිවර්තනය කළ හැකි වස්තු සඳහා පමණි.
එමිලි බර්ජරන්

2

orක්රියාකරු භාවිතා කරන එක් ලයිනර් :

($key = array_search($del_val, $messages)) !== false or unset($messages[$key]);

1

මම හිතන්නේ සරලම ක්‍රමය වනුයේ foreach loop එකක් සහිත ශ්‍රිතයක් භාවිතා කිරීමයි:

//This functions deletes the elements of an array $original that are equivalent to the value $del_val
//The function works by reference, which means that the actual array used as parameter will be modified.

function delete_value(&$original, $del_val)
{
    //make a copy of the original, to avoid problems of modifying an array that is being currently iterated through
    $copy = $original;
    foreach ($original as $key => $value)
    {
        //for each value evaluate if it is equivalent to the one to be deleted, and if it is capture its key name.
        if($del_val === $value) $del_key[] = $key;
    };
    //If there was a value found, delete all its instances
    if($del_key !== null)
    {
        foreach ($del_key as $dk_i)
        {
            unset($original[$dk_i]);
        };
        //optional reordering of the keys. WARNING: only use it with arrays with numeric indexes!
        /*
        $copy = $original;
        $original = array();
        foreach ($copy as $value) {
            $original[] = $value;
        };
        */
        //the value was found and deleted
        return true;
    };
    //The value was not found, nothing was deleted
    return false;
};

$original = array(0,1,2,3,4,5,6,7,4);
$del_val = 4;
var_dump($original);
delete_value($original, $del_val);
var_dump($original);

ප්‍රතිදානය වනුයේ:

array(9) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
  [6]=>
  int(6)
  [7]=>
  int(7)
  [8]=>
  int(4)
}
array(7) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [5]=>
  int(5)
  [6]=>
  int(6)
  [7]=>
  int(7)
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.