Sobes.tech
Intern

Шумо дар Python массив ё рӯйхати пайвастро истифода мебаред?

sobes.tech AI

Ҷавоб аз AI

Дар PHP барои ин мақсадҳо бештар навъҳои маълумоти array-ро истифода мебарад.

Масивҳо дар PHP метавонанд ҳам ба тартиб ёфтанӣ (бо калидҳои рақамӣ) ва ҳам асосиативӣ (бо калидҳои сатрӣ) бошанд.

Масалан:

<?php
// Масиви индексӣ (монанд ба рӯйхат ё массив дар дигар забонҳо)
$indexedArray = [1, 2, 3, 'чор'];

// Масиви асосиативӣ (монанд ба луғат ё хэш-таблиц)
$associativeArray = [
    'ном' => 'Иван',
    'сол' => 30,
    'шаҳр' => 'Маскав'
];
?>

Дар PHP навъи маълумоти "тамосӣ" ҳамчун такрор вуҷуд надорад. Барои имитацияи рафтори он метавон истифодаи массивҳоро кард, аммо ин на воқеан иҷрои рӯйхати тамосӣ бо хусусиятҳои иҷроишии он дар ҷойгиркунии/барҳам додани даруми он.

Барои кор бо ҷамъиятҳои объектҳо, ки метавонанд ҳамчун рӯйхатҳои тамосӣ ё навбатҳо рафтор кунанд, метавон SPL (Standard PHP Library)-ро истифода бурд, масалан SplDoublyLinkedList:

<?php
// Истифодаи `SplDoublyLinkedList` барои имитацияи рӯйхати тамосӣ
$linkedList = new SplDoublyLinkedList();
$linkedList->push('элемент 1'); // Илова ба охир
$linkedList->unshift('элемент 0'); // Илова ба оғоз

// Ҳаракат додани ишора барои гузариш
$linkedList->rewind();
while ($linkedList->valid()) {
    echo $linkedList->current() . "\n";
    $linkedList->next();
}
?>

Аммо, дар зиёда аз ҳама вазифаҳои рӯзмарра дар PHP барои нигоҳдории ҷамъиятҳои маълумот асосан навъи array истифода мешавад.