亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數組的定位

數組的定位

PHP
MMTTMM 2023-09-22 15:11:26
是否可以根據特定的數值數組來定位數組值?我有這張表:+---------+-------+-------+------------+---------------------+------------------------------+| deck    | count | break | cards      | donator             | image                        |+---------+-------+-------+------------+---------------------+------------------------------+| prejoin | 20    | 5     | 16, 01, 05 | User2, User1, User7 | img2.jpg, img1.jpg, img7.jpg |+---------+-------+-------+------------+---------------------+------------------------------+這就是我到目前為止所擁有的: https: //shizen.hakumei.org/test.php它僅顯示 User7 的名稱和圖像鏈接,我計劃顯示框 01 表示 User1 的名稱和圖像鏈接,然后顯示框 16 表示 User2 的名稱和圖像鏈接。所以基本上就像:Box 16 = User2 (img2.jpg link)Box 01 = User1 (img1.jpg link)Box 05 = User7 (img7.jpg link)這是我當前必須從給定鏈接顯示表格的代碼:function trim_value(&$value) { $value = trim($value); }$res = $database->query("SELECT * FROM `table` ORDER BY `deck` LIMIT 1");while ( $col = mysqli_fetch_assoc($res) ) {    echo '<center>';    $cards = explode(',', $col['cards']);    array_walk($cards, 'trim_value');    if ( $col['cards'] == '' ) { $count = 0; } else { $count = count($cards); }    $donator = explode(',', $col['donator']);    $donator = array_map(trim, $donator);    foreach ( $donator as $usr ) { $usr = trim($usr); }    $image = explode(',', $col['image']);    $image = array_map(trim, $image);    foreach ( $image as $img ) { $img = trim($img); }    echo '<h2>'.$col['deck'].' ('.$count.' / '.$col['count'].')</h2>    <table width="625" cellspacing="0" border="1"><tr>';    for ( $i = 1; $i <= $col['count']; $i++ ) {        $number = $i;        if ( $number < 10 ) { $number = "0$number"; }        $card = $number;        if ( in_array($card, $cards) ) echo '<td width="125" align="center" height="105">'.$card.'<br ><a href="'.$img.'" target="_blank">'.$usr.'</a></td>';        else { echo '<td width="125" align="center" height="105">00</td>'; }        if ( $col['break'] !== '0' && $i % $col['break'] == 0 ) { echo '</tr>'; }    }    echo '</table>}提前謝謝了!如果不可能或者有更好的方法,我也愿意接受想法。:)
查看完整描述

2 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

提示:您不需要為代碼中的空間支付租金,因此您應該使用它來獲得更好的可瀏覽性。


我已將您的用戶名和圖像放入基于密鑰的數組中,因此您可以查找該密鑰是否存在,如果不存在,則不需要用戶名或圖像。這里的問題是你在表中的存儲,你使用以 0 開頭的數字。


您還應該考慮這一點:刪除列卡、圖像、捐贈者并將所有值放在不同的表中,例如:


牌組:預加入,card_id:16,用戶:17,圖片:img12.jpg


while ( $col = mysqli_fetch_assoc($res) ) {

    $data = array();


    if ($col['cards'] == '' ){

        $cards = explode(',', $col['cards']);

        array_walk($cards, 'trim_value');

        $count = count($cards);


        $donator = explode(',', $col['donator']);

        $image = explode(',', $col['image']);

        foreach ($cards as $key=>$card){

            $data[$card] = array(

                'user' => trim($donator[$key]),

                'img' => trim($image[$key])

            );

        }

    }


    echo '<h2>'.$col['deck'].' ('.$count.' / '.$col['count'].')</h2>

    <table width="625" cellspacing="0" border="1"><tr>';

    for ( $i = 1; $i <= $col['count']; $i++ ) {

        $number = $i;

        if ( $number < 10 )

             $number = "0".$number;


        if ( in_array($i, $data) )

            echo '<td width="125" align="center" height="105">'.$i.'<br ><a href="'.$data[$i]['img'].'" target="_blank">'.$data[$i]['user'].'</a></td>';

        else

            echo '<td width="125" align="center" height="105">00</td>';


        if ( $col['break'] !== '0' && $i % $col['break'] == 0 )

            echo '</tr>';

    }

    echo '</table>';

}


查看完整回答
反對 回復 2023-09-22
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

explode返回一個數組,通過使用foreach(... $key => ...)我們將獲得 中當前元素的鍵$key。由于所有數組共享相同的鍵,因此我們可以使用$keyof $cardsfor$users和$images。


$cards = explode(',', '16, 01, 05');

$users = explode(',', 'User2, User1, User7');

$images = explode(',', 'img2.jpg, img1.jpg, img7.jpg');


$cards = array_map('trim', $cards);

$users = array_map('trim', $users);

$images = array_map('trim', $images);


foreach ($cards as $key => $value) {

? ? echo sprintf(

? ? ? ? 'Box %02d = %s (%s link)',

? ? ? ? $cards[$key],

? ? ? ? $users[$key],

? ? ? ? $images[$key]

? ? ) . PHP_EOL;

}

輸出

Box 16 = User2 (img2.jpg link)

Box 01 = User1 (img1.jpg link)

Box 05 = User7 (img7.jpg link)

工作示例。

查看完整回答
反對 回復 2023-09-22
  • 2 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號