第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在php中將數(shù)組的索引值設(shè)置為0?

如何在php中將數(shù)組的索引值設(shè)置為0?

PHP
翻閱古今 2021-09-18 13:44:11
我正在處理我的 php 以獲取數(shù)據(jù)以將它們存儲(chǔ)在數(shù)組中。我對(duì)數(shù)組中的索引值有問題,因?yàn)樗饕祵?1 開始,然后將其計(jì)數(shù)到 2、3、4...等,它應(yīng)該從 0 開始,然后是 1、2 3.. .etc,因?yàn)槲沂褂?i = 0;默認(rèn)從零開始。這是我使用的索引值以 1 開頭的內(nèi)容:if(isset($structure->parts) && count($structure->parts)) {    for($i = 0; $i < count($structure->parts); $i++) {        if (($structure->parts[$i]->ifdisposition) && ($structure->parts[$i]->disposition == 'attachment')) {            foreach($structure->parts[$i]->parameters as $object) {                if(strtolower($object->attribute) == 'name') {                    $attachments[$i]['is_attachment'] = true;                    $attachments[$i]['name'] = $object->value;                    $attachments[$i]['attachment'] = '';                }            }        }    }我已經(jīng)從試圖改變$i++來$i和我試圖把$i++在for循環(huán),但沒有奏效。輸出:Array ( [1] => Array ( [is_attachment] => 1 [name] => 2019-01-23 (1).rar [attachment] => ) [2] => Array ( [is_attachment] => 1 [name] => email.zip [attachment] => ) )它應(yīng)該是:Array ( [0] => Array ( [is_attachment] => 1 [name] => 2019-01-23 (1).rar [attachment] => ) [1] => Array ( [is_attachment] => 1 [name] => email.zip [attachment] => ) )這是完整的代碼:<?phprequire_once "Mail.php";require_once('Mail/IMAPv2.php');$username = 'username';$password = 'password';$mailserver = '{imap.domain.com:993/imap/ssl/novalidate-cert}INBOX';$mailbox = imap_open($mailserver, $username, $password) or die("Can't connect: " . imap_last_error());$key = "key";$email_number = openssl_decrypt(hex2bin('477'),'AES-128-CBC', $key);$attach_id = $_GET['attid'];/* get information specific to this email */$overview = imap_fetch_overview($mailbox, $email_number, 0);$message = imap_fetchbody($mailbox, $email_number, 2);/* get mail structure */$structure = imap_fetchstructure($mailbox, $email_number);$attachments = array();$attachment_number = 0;  我無法找出為什么索引值總是從 1 開始,而它應(yīng)該從 0 開始,然后是 1、2、3,因?yàn)樗看味荚谟?jì)算值。你能告訴我一個(gè)例子,當(dāng)我使用時(shí),我如何以 0 作為默認(rèn)值開始索引值,然后將它計(jì)數(shù)到 1,然后是 2、3、4、5...等$i++?謝謝你。
查看完整描述

3 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

這是因?yàn)樵谒星闆r下$structure->parts[0]都不匹配$structure->parts[$i]->disposition == 'attachment'。


僅在正確時(shí)才在數(shù)組中創(chuàng)建新項(xiàng)目,并且不要使用循環(huán)計(jì)數(shù)器使用簡單$arr[]構(gòu)造來創(chuàng)建下一次出現(xiàn)


$attachments = array();


if(isset($structure->parts) && count($structure->parts)) {

    foreach ($structure->parts as $part) {

        if (($part->ifdisposition) && ($part->disposition == 'attachment')) {


            foreach($part->parameters as $obj) {

                if(strtolower($obj->attribute) == 'name') {


                    $t['is_attachment'] = true;

                    $t['name'] = $obj->value;

                    $t['attachment'] = '';


                    $attachments[] = $t

                }

            }

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2021-09-18
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果您想知道為什么數(shù)組的索引以 1 開頭而不是 0,請向我們展示數(shù)組的定義。但是您也可以通過使用 PHP array_keys函數(shù)獲取數(shù)組鍵來使用 for 循環(huán)循環(huán)使用未知鍵的數(shù)組


$this->arr = [1 => 'one', 2 => 'two', 3 => 'three'];

    $keys = array_keys($this->arr);

    for($i = 0; $i < count($keys); $i++) {

        $value = $this->arr[$keys[$i]];

        echo 'val: ' .$value.'<br>';

    }

或者你可以將兩個(gè) foreaches 包裝成另一個(gè)


foreach($structure->parts as $key => $part){


        $part->ifdisposition = true;

        $part->disposition = 'attachment';

        if (($part->ifdisposition) && ($part->disposition == 'attachment')) {


            foreach($part->parameters as $object) {

                if(strtolower($object->attribute) == 'name') {

                    $attachments[$key]['is_attachment'] = true;

                    $attachments[$key]['name'] = $object->value;

                    $attachments[$key]['attachment'] = '';

                }

            }

        }

    }

另一種選擇是使用array_map重新映射數(shù)組的鍵,但您的數(shù)組將被更改,因此如果您需要原始數(shù)組,您可以將其緩存到另一個(gè)變量中。


查看完整回答
反對(duì) 回復(fù) 2021-09-18
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

這里:


$attachments[$i]['is_attachment'] = true;

$attachments[$i]['name'] = $object->value;

$attachments[$i]['attachment'] = '';

您將鍵設(shè)置為$i,因此$structure->parts匹配條件的第一個(gè)元素是循環(huán)中的第二個(gè)元素。要設(shè)置$attachments從零開始的數(shù)組,您只需要讓 PHP 自己創(chuàng)建鍵:


$attachments[] = ['is_attachment' => true, 'name' => $object->value, 'attachment' => ''];



查看完整回答
反對(duì) 回復(fù) 2021-09-18
  • 3 回答
  • 0 關(guān)注
  • 248 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)