1
こんにちは、私は本当に奇妙なことにこだわりました。PHPメソッドは2次元配列を返すことはできません?
私は学校プロジェクトのための簡単なPHP MVC WebAppを書いています.2次元配列を返すことはできません。
私はこの方法この問題を解決:
class Post{
public $author;
public $cat;
public $table;
function getPosts($cat = ""){
dbstart();
global $dbconn;
empty($cat) ? $query = mysqli_query($dbconn, "SELECT * FROM pytania") : $query = mysqli_query($dbconn, "SELECT * FROM pytania WHERE cat = $cat");
while($row = mysqli_fetch_assoc($query)){
$output[] = $row;
$this -> table = $output;
dbstop();
}
}
}
それは私が
"poststable" => $post -> table
コントローラにプロパティを呼んでいるとき、完全に動作してくれ、すべての4つのポスト(4行の2次元配列)を与えるが、 public $ tableプロパティを削除して、このようにメソッドを直接呼び出すことができます。
"poststable" => $post -> getPosts($cat)
残念ながら、私はこれで私のメソッドのコードを変更する場合:
return $output;
$データ「poststableは」(配列店に一つだけのポストを)私の最初のポストを与えます
誰もが私が間違ってやっているのアイデアを持っていますか?事前におかげで助けてください!
ここで 'return $ output;'をあなたのコードに入れますか? – ArtOsi
もちろん、私は入れたい:return $ output; $ this - > table = $ outputの代わりに。 – PaulMans
あなたのループ内に '$ this - > table = $ output; 'を設定していると仮定すると、それを 'return $ output;'に変更しようとしていましたか、 '$ output'が完全にビルドされたときにループの後に戻りましたか? –