PHPでは問題なく動くコードなのですが、CakePHPで実行しようとするとarray_rand() expects parameter 1 to be array, null givenとarray_push() expects parameter 1 to be array, null givenの似たような2つのエラーが出てしまいます。
単純ですが、ランダムで$spotsから1つ要素を取り出し、$choiced_spotに追加するというものです。
何が原因でどこをどう直せばいいのでしょうか?
また、calculation以外でも使うために、外に出して関数として扱いたいとも考えていますが、どうすればいいのでしょうか?
ただ出すだけだと「viewがない」とCakePHPに怒られます。関数名の最初にアンダーバーを付ければよいというものをみて試しましたが、上手くいきませんでした。
よろしくお願いします。
PHP
1<?php 2App::uses('AppController', 'Controller'); 3 4class MySampleDatasController extends AppController { 5 function calculation(){ 6 $choiced_spot = []; 7 $spots =[1, 2, 3, 4, 5, 6, 7]; 8 function choiced_spot($spots, $choiced_spot){ 9 global $spots, $choiced_spot; 10 $randkey = array_rand($spots, 1); 11 array_push($choiced_spot, $spots[$randkey]); 12 }; 13 14 choiced_spot($spots, $choiced_spot); 15 } 16}

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/10 02:31