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

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

為不同的數(shù)組值創(chuàng)建 SWITCH 案例

為不同的數(shù)組值創(chuàng)建 SWITCH 案例

PHP
動(dòng)漫人物 2022-07-09 18:10:14
如何編寫 SWITCH 案例的代碼以給出 x 和 y 數(shù)值?x 和 y 在一個(gè)數(shù)組中。數(shù)組中的數(shù)據(jù)來自數(shù)據(jù)庫。<?php        $main_link = mysqli_connect('localhost', 'root', '','WMYC');        $a1 = mysqli_fetch_array(mysqli_query($main_link, "SELECT * FROM teams WHERE team='t1' AND round='r1'"));        $b1 = mysqli_fetch_array(mysqli_query($main_link, "SELECT * FROM teams WHERE team='t2' AND round='r1'"));        $c1 = mysqli_fetch_array(mysqli_query($main_link, "SELECT * FROM teams WHERE team='t3' AND round='r1'"));        $d1 = mysqli_fetch_array(mysqli_query($main_link, "SELECT * FROM teams WHERE team='t4' AND round='r1'"));        $array = array($a1['xy'], $b1['xy'], $c1['xy'], $d1['xy']);        print_r($array); // will get Array ( [0] => x [1] => y [2] => x [3] => x )         print_r(array_count_values($array)); // will get Array ( [x] => 3 [y] => 1 )    switch(isset($_POST['round1']))    {            case //array_count_values($array) == ( [x] => 3 [y] => 1 ):          //value of x = 1 and value of y= -3            break;            case //array_count_values($array) == ( [x] => 2 [y] => 2 ):          //value of x = 2 and value of y= -2            break;            case //array_count_values($array) == ( [x] => 1 [y] => 3 ):          //value of x = 3 and value of y= -1            break;            case //array_count_values($array) == ( [x] => 4 ):          //value of x = -1            break;            case //array_count_values($array) == ( [y] => 4 ):          //value of y = 1    }        ?>如果有比 switch case 更好更簡(jiǎn)單的方法請(qǐng)指教
查看完整描述

2 回答

?
手掌心

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

由于計(jì)數(shù)將始終加起來為 4,因此您無需比較整個(gè)數(shù)組,只需獲取計(jì)數(shù)x并在switch語句中使用它即可。


$counts = array_count_values($array);

if (isset($_POST['round1'])) {

    switch (@$counts['x']) {

    case 3:

        // do something for x=3 y=1

        break;

    case 2:

        // do something for x=2 y=2

        break;

    case 1:

        // do something for x=1 y=3

        break;

    default:

        // do something for x=0 y=4

}

當(dāng)計(jì)數(shù)為時(shí), @before會(huì)$counts['x']抑制警告(因?yàn)閿?shù)組中0不會(huì)有元素);x然后我們進(jìn)入這個(gè)default:案子。


查看完整回答
反對(duì) 回復(fù) 2022-07-09
?
楊__羊羊

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

您錯(cuò)誤地使用了 switch 語句。


Switch 表示,基于 switch() 中的值,根據(jù)其值(case 語句)執(zhí)行一些代碼。


所以你所說的:switch(isset($_POST['round1'])) 是基于現(xiàn)有的 $_POST['round1'] 的價(jià)值,做點(diǎn)什么。isset 返回真/假。如果 $_POST['round1'] 存在,它將返回 true,否則將返回 false。


你不想在這里使用 switch 語句,你想使用 if / else。


if (array_count_values($array) == ( [x] => 3 [y] => 1 ) {

  //do something

}

elseif (array_count_values($array) == ( [x] => 2 [y] => 2 ) {

  //do something

}

$_POST['round1'] isset 是否似乎對(duì)您的代碼沒有任何影響,但如果它很重要,您可以執(zhí)行以下操作:


if (isset($_POST['round1'])) {

  if (array_count_values($array) == ( [x] => 3 [y] => 1 ) {

    //do something

  }

  elseif (array_count_values($array) == ( [x] => 2 [y] => 2 ) {

    //do something

  }

}

else {

  //handle $_POST['round1'] not being set

}


查看完整回答
反對(duì) 回復(fù) 2022-07-09
  • 2 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報(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)