国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP の配列: 新しい項目を追加したときの驚くべき結(jié)果
P粉893457026
P粉893457026 2024-03-31 14:10:42
0
1
697

そこで、Instaloader Python ライブラリによって収集された畫像を収集し、Web サイト上のギャラリーに配置できるコードを作成しています。これらを問題なく収集して表示することができましたが、各投稿のヘッダーを?qū)g裝し始めたところ、問題が発生しました。

ライブラリが寫真をダウンロードする方法は、コレクション內(nèi)に複數(shù)の寫真がある場合、コレクション內(nèi)の畫像の位置に基づいて投稿に _1、_2 などのサフィックスを追加し、.txt を提供することです。ファイルをタイトルとして使用します。

コレクション用のサンプル フォルダーの內(nèi)容:

リーリー

単一投稿の投稿はうまく機能します 例: ### リーリー

メインコードブロック:

リーリー

$arrayKey は、通常の単一投稿にコレクションが存在する場合に false を返します。

これは、スクリプトが (date).txt を読み取る前に (date)_(collectionposition).jpg を読み取ると仮定しているため、スクリプトがこれらのファイルを読み取るファイル順序に関係していると思います。

配列エントリがすでに作成されている場合は、通常、ヘッダーが配列データに追加されます。そうでない場合 (_1、_2 などが存在する場合など)、配列は何も更新されず、エラーも発生しません。

###編集: さらにトラブルシューティングを行うと、「日付」値に基づいて配列キーを更新/チェックする方法が間違っていることがわかります。これらの操作を処理する正しい方法が見つかることを願っています

これを期待どおりに機能させるために修正できる點についてアドバイスをいただければ幸いです。ありがとうございます。

P粉893457026
P粉893457026

全員に返信(1)
P粉739942405

まずコードを勉強しましょう。 あなたが指摘した問題は次のとおりです。次の行:

リーリー

....txt ファイルの処理中に日付を含む $array エントリが作成されていないため、false を返します。 (array_push を使用して配列メンバーを作成するロジックはコードの下にあります。)

if/else

ロジックの関連部分に移動し続けるための簡単な修正 まだ定義されていません : リーリー つまり、

$arrayKey

false でない場合は、既存の配列メンバーへの値の追加を続けます。それ以外の場合は、配列メンバーを作成します。 さらに、畫像の処理中に問題が発生し、初めて発生したときに警告が生成されます:

リーリー

collection-size

キーがまだ存在しないため、これは 未定義の配列キー 'collection-size' で失敗します。たとえば、配列キーを操作する前に null 合體演算子を使用して「デフォルトのゼロ」を設定するなどの修正: リーリー これらのコメントはバグを修正しますが、txt/jpg 固有のロジックを?qū)g行する前に、txt または jpg の最初のインスタンスで、予期されるキーを持つ空の配列メンバーを使用して「エントリの作成」を分離した方がよいでしょう。

$date

自體をグループ化として使用するだけなので、array_search も削除できます。たとえば、日付を抽出した後、次を使用します: リーリー 次に、コードの殘りの部分を変更して一致させます。

コードは、ファイルが読み取られる順序に依存しないでください。

順序は保証されません。それ以外の場合は、いつでも最初にファイルのリストを通常の配列に読み取り、次にそれらを並べ替えて、特定のロジックを適用するときに再度繰り返すことができます。 簡略化されたコード

実際に必要なコードの量は、実際に必要なコードの量よりもはるかに少なくなります。ここでトリミングしてみました。ファイルがないので、ここにダミー データをいくつか示します:

リーリー

glob

ファイルを配列 (= ファイル パスのリスト) に入れることもできます。 リーリー 次に、次のように繰り返します:

リーリー

どれだけ縮むかに注目してください。どうしたの?

    $date
  • を配列のグループ化インデックスとして使用します。 array_search はもう必要ありません。 各日付のデフォルトのエントリを初期化します。それ以上の検査や條件は必要ありません。
  • ファイル名に含まれる
  • _3
  • などの「コレクション サイズ」は無視されます。JPG ごとに 1 を追加するだけです。 ここでは、
  • readdir
  • fopen の代わりに、nglobfile_get_contents を使用します。 ファイルの順序は重要ではありません。 (自由にテストして
  • shuffle($files)
  • !) ###結(jié)果:### リーリー
いいねを押す +0
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート