Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用function cidades时注意:未定义属性:Dados::$cidades_Php - Fatal编程技术网

Php 调用function cidades时注意:未定义属性:Dados::$cidades

Php 调用function cidades时注意:未定义属性:Dados::$cidades,php,Php,文件capitais.php <?php /*Capitais*/ ini_set('display_errors',1); ini_set('display_startup_erros',1); error_reporting(E_ALL); require_once('dados.php'); $dados = new Dados; $estado = $dados->_estado; $capitais = $dados->_capitais; for($i=1;$

文件capitais.php

   <?php
/*Capitais*/
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);
require_once('dados.php');
$dados = new Dados;
$estado = $dados->_estado;
$capitais = $dados->_capitais;
for($i=1;$i<count($estado);$i++){
    echo $estado["$i"].' : '.array_search($capitais["$i"],$dados->cidades["$i"]).'<br />';
}
?>

文件dados.php

    <?php

class Dados{
        public $_estado = array("Selecione","AC","AL","AM","AP","BA");
        public $_capitais = array("Selecione Primeiro o Estado","RIO BRANCO","MACEIO","MANAUS","MACAPA","SALVADOR");
        public function cidades($estado){
            switch($estado){
                case "1":
                    return array("Selecione","RIO BRANCO","RODRIGUES ALVES","SANTA ROSA","SENA MADUREIRA","SENADOR GUIOMARD","TARAUACA","XAPURI");
                break;
                case "2":
                    return array("Selecione","MACEIO","MAJOR ISIDORO","MAR VERMELHO","MARAGOGI","MARAVILHA","MARECHAL DEODORO","MARIBONDO");
                break;
                case "3":
                    return array("Selecione","MANAQUIRI","MANAUS","MANICORE","MARAA","MAUES","NHAMUNDA","NOVA OLINDA DO NORTE","NOVO AIRAO","NOVO ARIPUANA","PARINTINS","PAUINI","URUCURITUBA");
                break;
                case "4":
                    return array("Selecione","AMAPA","CALCOENE","MACAPA");
                break;
                case "5":
                    return array("Selecione","RUY BARBOSA","SALINAS DA MARGARIDA","SALVADOR","SANTA BARBARA");
                break;
            }
        }
    }
?>

注意:第14行capitais.php中未定义的属性:Dados::$cidades


警告:array_search()[function.array search]:cicades中第二个参数的数据类型错误不是Dados类的属性,它是一个方法,因此需要作为

$dados->cidades();
传入适当的$estado参数

echo$estado[“$i”]。:'。数组搜索($capitais[“$i”],$dados->ciades[“$i”])。
echo $estado["$i"].' : '.array_search($capitais["$i"],$dados->cidades["$i"]).'<br />';
应该是

echo $estado["$i"].' : '.array_search($capitais["$i"],$dados->cidades("$i")).'<br />';
$dados->cidades("$i")
echo$estado[“$i”]:'。数组搜索($capitais[“$i”],$dados->cidades($i”)。
因为cidades是一个函数,而不是数组属性

$dados->cidades["$i"]
应该是

echo $estado["$i"].' : '.array_search($capitais["$i"],$dados->cidades("$i")).'<br />';
$dados->cidades("$i")

将$i参数传递给cidades()函数。您将其视为一个数组,并将其与参数数组混淆。谢谢你解决了我的问题。