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

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

類與 2 關聯數組與 foreach 循環

類與 2 關聯數組與 foreach 循環

PHP
Smart貓小萌 2023-04-15 16:46:20
我有一個我無法理解的情況。例如,我有這個關聯數組$assocHeroes = array(    array(        "name" => "Markos",        "type" => "boy",    ),    array(        "name" => "Jim",        "type" => "boy",    ),   array(        "name" => "Maria",        "type" => "liz",   ));$wallOfHeroes = array();foreach ($assocHeroes as $assocHero){    foreach ($assocHero as $name=>$type){       $hero = new Hero($name,$type);       echo $hero->taunt();       $wallOfHeroes[]=$hero;    }}print_r($wallOfHeroes);正如您從代碼中看到的那樣,$hero = new Hero($name,$type);我還有一個 Class Hero。在這個類中,我只有一個功能taunt();,更具體地說public function taunt() {    return "My name is {$this->name}!".PHP_EOL;}所以我只想得到My name is Markos My name is Jim..等..我不知道我做錯了什么
查看完整描述

2 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

首先,由于您沒有給出類的代碼以及如何從構造函數中分配值,因此很難告訴您哪里錯了。


我已根據您的問題大綱自由定義課程并附上一組工作代碼。這應該工作。


<?php


class Hero

{

    public $_name;

    public $_type;


    public function __construct($name,$type) 

    {

        $this->_name = $name;

        $this->_type = $type;

    }

    public function taunt() 

    {

        return "My name is ".$this->_name."!<br>";

    }

}

$assocHeroes = array(

    array(

        "name" => "Markos",

        "type" => "boy",

    ),

    array(

        "name" => "Jim",

        "type" => "boy",

    ),

   array(

        "name" => "Maria",

        "type" => "liz",

   )

);

$wallOfHeroes = array();

for($i=0;$i<count($assocHeroes);$i++)

{

    $hero = new Hero($assocHeroes[$i]["name"],$assocHeroes[$i]["type"]);

    echo $hero->taunt();

?>


查看完整回答
反對 回復 2023-04-15
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

你可以試試foreach,確保值可以打印,用于調試你的代碼


foreach ($assocHeroes as $assocHero){ 

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

         echo $key ." ". $value . "<br>";

   }

}


查看完整回答
反對 回復 2023-04-15
  • 2 回答
  • 0 關注
  • 150 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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