別ファイルに配列を渡して、別ファイルのクラスを実行
index.phpから別ファイルのclass.phpに配列を渡して、
クラスを実行したいと考えています。
//-----------------------------------
//-- index.php ---
<?php
class hiragana {
public $a_ka_sa;
function init() {
$this->a_ka_sa = array();
}
}
$j_hiragana = new hiragana();
$val[0] = array('a'=>'あ' , 'i'=>'い' , 'u'=>'う' , 'e'=>'え' , 'o'=>'お');
$val[1] = array('ka'=>'か' , 'ki'=>'き' , 'ku'=>'く' , 'ke'=>'け' , 'ko'=>'こ');
$val[2] = array('sa'=>'さ' , 'si'=>'し' , 'su'=>'す' , 'se'=>'せ' , 'so'=>'そ');
$j_hiragana->a_ka_sa[0] = (object) $val[0];
$j_hiragana->a_ka_sa[1] = (object) $val[1];
$j_hiragana->a_ka_sa[2] = (object) $val[2];
var_dump($j_hiragana);
//-----------------------------------
このようになっているプログラムを
//-----------------------------------
//-- index.php ---
<?php
$val[0] = array('a'=>'あ' , 'i'=>'い' , 'u'=>'う' , 'e'=>'え' , 'o'=>'お');
$val[1] = array('ka'=>'か' , 'ki'=>'き' , 'ku'=>'く' , 'ke'=>'け' , 'ko'=>'こ');
$val[2] = array('sa'=>'さ' , 'si'=>'し' , 'su'=>'す' , 'se'=>'せ' , 'so'=>'そ');
//-----------------------------------
配列の部分だけindex.phpに残して
//-----------------------------------
//-- class.php ---
<?php
class hiragana {
public $a_ka_sa;
function init() {
$this->a_ka_sa = array();
}
}
$j_hiragana = new hiragana();
//--------------
// $val[0] = array('a'=>'あ' , 'i'=>'い' , 'u'=>'う' , 'e'=>'え' , 'o'=>'お');
// $val[1] = array('ka'=>'か' , 'ki'=>'き' , 'ku'=>'く' , 'ke'=>'け' , 'ko'=>'こ');
// $val[2] = array('sa'=>'さ' , 'si'=>'し' , 'su'=>'す' , 'se'=>'せ' , 'so'=>'そ');
//--------------
$j_hiragana->a_ka_sa[0] = (object) $val[0];
$j_hiragana->a_ka_sa[1] = (object) $val[1];
$j_hiragana->a_ka_sa[2] = (object) $val[2];
//-----------------------------------
class.phpに移して、
index.phpを開くとclass.phpのクラス?に配列を渡しクラス?を実行する
プログラムを作りたいと考えていますが、
うまく配列を渡してクラス?を実行できません。
どのようにすればよいのでしょうか?
お礼
詳しいコード&丁寧な解説をいただき、ありがとうございました! てっきり、リストだから、何かそれ用の書き方とかルールがあるのかな? と思って質問してみたのですが、 全然そうではなくて、スコープ範囲の問題だということが分かりました。 また、なるべくグローバル変数ではなくて、 引数を渡して、ローカル変数で、というアドバイスも よく理解できました。 勉強になりましたー。