Шумо дар 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 истифода мешавад.