PHP Conference Nagoya 2025

dba_nextkey

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_nextkey次のキーを取得する

説明

dba_nextkey(Dba\Connection $dba): string|false

dba_nextkey() は、 が指すデータベースの次のキーを返し、内部キーポインタを進めます。

パラメータ

dba

dba_open() または dba_popen() によって返される Dba\Connection インスタンス

戻り値

成功した場合にキー、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.4.0 dbaDba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。

参考

add a note

User Contributed Notes 1 note

up
0
phpnet at araxon dot sk
2 years ago
It should be noted that it is not always safe to iterate through the database while changing it at the same time. For example:

<?php
$db
=dba_open(...);

// remove all values shorter than 10 characters
for ($key=dba_firstkey($db); $key!==false; $key=dba_nextkey($db)) {
$s=dba_fetch($key, $db);
if (
strlen($s)<10) {
dba_delete($key, $db);
}
}
?>

The above example will work fine with db4 handler, but not with gdbm. It is handler specific.
To Top