query; ( 'セレ"/> query; ( 'セレ">
ホームページ >バックエンド開発 >PHPチュートリアル >$count が 0 を出力するのはなぜですか?解決策のアドバイス
$count が 0 を出力するのはなぜですか? !アドバイス
public function train_insert(){
$pxda =M("pxda");
$data = array();
$count = count($RYMC_ID);
print_r( $count);exit;
$Number = $pxda->query('select max(to_number(ID)) as ID from __TABLE__');
foreach($Number as $key=>$val ){
$MaxNumber = $val['ID'];
}
$id = $MaxNumber + 1;
$data['ID'] = $id;
$data['SWJG_DM'] = $_POST['SWJG_DM'];//単位コードを入力
$data['RYMC_ID'] = $_POST['RYMC_ID2'];//個人名ID
$ data['SCORE'] = $_POST['SCORE'];//スコア
$data['REMARK'] = $_POST['REMARK'];//備考
$data['TIME'] = $_POST['TIME']; //時間を追加します
$data['PXDD'] = $_POST['PXDD'] //トレーニング場所
$data['CLASS_ID'] = $_POST[ 'CLASS_ID'];//カテゴリID
$data['JCQK'] = $_POST['JCQK'];//報酬と罰
$data['BZWH'] = $_POST['BZWH' ] ; //ドキュメント番号
$data['ZUTI_ID'] = $_POST['ZUTI_ID'];//トピックID
$data['PXDW'] = $_POST['PXDW'];//トレーニング ユニット
$data['START_TIME'] = $_POST['START_TIME'];//開始時刻
$data['END_TIME'] = $_POST['END_TIME'];//終了時刻
$data['ZZDW'] = $_POST['ZZDW'];//組織単位
$result = $pxda->add($data);
if ($result !== false) {
$this->assign("jumpUrl","train");
$this->success();
$this->redirect('Honor/train');
} else {
$this->assign("jumpUrl","train");
$this->error();
}
}
------解決策----------------------
$RYMC_ID の出所を知りたいです
------解決策----------------------
public function train_insert(){
$ pxda =M("pxda");
$data = array();
$count = count($RYMC_ID);
print_r($count);exit;
train_insert メソッド $ RYMC_ID が定義されていない場合は、グローバル GLOBALS またはメンバー変数 $this-> も宣言して指定する必要があります。それ以外の場合は、0 が出力されます。
------解決策----------------------
$RYMC_ID 変数はどこから来たのでしょうか? 値が割り当てられていますか? ? ?
------解決策---------
$RYMC_ID が関数内に定義されていません。グローバル変数でない限り。
------解決策-----------
count ― セルまたはオブジェクトの数を数えます。 array
内の属性の数 説明
int count (mixed $var [, int $mode ] )
var 内のユニットの数を返します (通常は配列、その他の型)。は 1 つのユニットのみです。
オブジェクトの場合、SPL がインストールされている場合、Countable インターフェイスを実装することで count() を呼び出すことができます。このインターフェイスには、count() 関数の戻り値を返すメソッド count() が 1 つだけあります。
var が配列型または Countable インターフェイスを実装するオブジェクトでない場合は、1 が返されます。ただし、var が NULL の場合、結果は 0 になります。1 つの例外があります。
注: オプションの mode パラメーターは、PHP 4.2.0 以降で使用できます。
オプションの mode パラメーターが COUNT_RECURSIVE (または 1) に設定されている場合、count() は配列を再帰的にカウントします。多次元配列のすべての要素を計算する場合に特に役立ちます。モードのデフォルト値は 0 です。 count() は無限再帰を認識しません。
注意
count() は、初期化されていない変数に対して 0 を返しますが、空の配列に対しても 0 を返します。 isset() を使用して、変数が初期化されているかどうかをテストします。
PHP で配列を実装および使用する方法の詳細な説明については、マニュアルの「配列」セクションを参照してください。
例 #1 count() 例
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result == 3;
$result = count(null);
// $result == 0
$result = count(false);
// $result == 1
?>
例 2 count() の再帰例(PHP >= 4.2.0)
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie ' => array('キャロット', 'collard','pea'));
// 再帰カウント
エコーカウント($food, COUNT_RECURSIVE) // 出力 8
// 通常の count
echo count($food); // 出力 2
?>
is_array()、isset()、strlen() を参照してください。
------解決策------------------
あなたが投稿したパラメータが受信されなかったため、問題は今解決されました。