この記事では主に PHP のソース コード 20 について紹介します。array_flip 関数と array_reverse 関数については、参考になる値があるので、必要な方は参考にしてください。
簡単に説明します。 PHP について話す ソースコード 20: array_flip、array_reverse 関数について
array_flip
(PHP 4, PHP 5)
array_flip — 配列内のキーと値を交換する
Description
array array_flip (array trans)
array_flip() 反転した配列を返します。たとえば、trans のキー名が値になり、trans の値がキー名になります。
trans の値は正当なキー名である必要があることに注意してください。たとえば、整数または文字列である必要があります。値の型が間違っている場合は警告が発行され、問題のキーと値のペアは元に戻されません。
同じ値が複数回出現する場合、最後のキー名がその値として使用され、他のキー名はすべて失われます。
array_flip() は、失敗すると FALSE を返します。
ソース コードの説明: 配列が配置されているハッシュ テーブルを走査し、キーを取り出し、新しい ZVAL を作成します。次に、前の配列の値をキーとして使用して、返された配列のハッシュ テーブルに書き込みます。
前の値のみ LONG および STRING がサポートされます。他の型がある場合は、警告が表示されます。 型判定のソース コードは次のとおりです。
if (Z_TYPE_PP(entry) == IS_LONG) { zend_hash_index_update(Z_ARRVAL_P(return_value), Z_LVAL_PP(entry), &data, sizeof(data), NULL); } else if (Z_TYPE_PP(entry) == IS_STRING) { zend_symtable_update(Z_ARRVAL_P(return_value), Z_STRVAL_PP(entry), Z_STRLEN_PP(entry) + 1, &data, sizeof(data), NULL);} else {zval_ptr_dtor(&data); /* will free also zval structure */php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can only flip STRING and INTEGER values!");}
array_reverse
( PHP 4、PHP 5)
array_reverse — 単位配列を逆順で返します
Description
array array_reverse (array array [, bool prepare_keys])
array_reverse() は配列を受け入れます配列を入力として使用し、preserve_keys が TRUE の場合は、元のキー名を保持し、セルを逆順にした新しい配列を返します。
ソース コードの説明: 配列はハッシュ テーブルに格納されており、ハッシュ テーブルは二重リンク リストをサポートしているため、プログラムは二重リンク リストの最後の要素から開始し、前方に移動し、プロセス内で実行されます。 、すべての要素はコピーを作成し (つまり (*entry)->refcount ;)
、これを返された配列が配置されているハッシュ テーブルに書き込みます。
ハッシュ テーブルの二重リンク リストについては、前の記事で紹介したハッシュ テーブルの定義を参照できます。
http://www.php.cn/php-weizijiaocheng- 405316.html
PHP ソース コード 19 についての簡単な説明: array_file、range 関数について
簡単な説明PHPソースコードについて 10 8:array_diff_key、array_diff_assoc、array_udiff_assocについて 関数######
以上がPHP ソースコードに関する簡単な説明 20: array_flip、array_reverse 関数についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。