目次
ディスカッションへの返信 (解決策)
ホームページ バックエンド開発 PHPチュートリアル PHP の配列内のキー値が空の場合、そのキー値は配列に追加されません。

PHP の配列内のキー値が空の場合、そのキー値は配列に追加されません。

Jun 20, 2016 pm 12:45 PM

	$data = array();			if (!empty($_POST['field_id'])) {				foreach ($_POST['field_id'] as $k => $v) {					$data[] = array(						'field_id' => $v, 						'choice' => isset($_POST['choice'][$k]) ? $_POST['choice'][$k] : '', 						'uid' => $_POST['uid'],						'game_id' => $_POST['game_id'],						'server_id' => $_POST['server_id']					);  				}   			}  
ログイン後にコピー

ここでフォーマットをループします。以下は出力配列データです
Array(    [0] => Array        (            [field_id] => 1            [choice] => 0            [uid] => 110000110            [game_id] => 2            [server_id] => 2        )    [1] => Array        (            [field_id] => 2            [choice] => 0            [uid] => 110000110            [game_id] => 2            [server_id] => 2        )    [2] => Array        (            [field_id] => 3            [choice] => 1            [uid] => 110000110            [game_id] => 2            [server_id] => 2        ))
ログイン後にコピー


choice が空の [choice] => 値なしの場合データ配列に追加せずにこれを実現できますか?


ディスカッションへの返信 (解決策)

[1] => 配列
(
[フィールド ID] => 2
[選択] =>
[uid] => 1100 00110
[ゲーム ID] => ;

例のデータには [choice] => のケースはありません
ある場合は、選択項目のみを削除する必要がありますか、それともグループ全体を削除する必要がありますか?

$_POST['field_id'] ループよりも $_POST['choice'] ループの方が比較しやすいと思いませんか?


例のデータには [choice] => のケースはありません

ある場合は、選択項目のみを削除する必要がありますか、それともグループ全体を削除する必要がありますか?

$_POST['field_id'] ループよりも $_POST['choice'] ループの方が比較しやすいと思いませんか?


Array
(
[0] => Array
(
[field_id] => 1
[choice] => 0
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)

[1] => Array
(
[field_id] => 2
[choice] =>
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)

[2] => Array
(
[field_id] => 3
[choice] =>
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)

)

大概就是这样一个效果,没有值的就不要了,显示成这样
Array
(
[0] => Array
(
[field_id] => 1
[choice] => 0
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)
)
只有choice没有值的就整个数组都不要了。

$data = array();if (!empty($_POST['field_id'])) {   foreach ($_POST['choice'] as $k => $v) {      if($v == '') continue;      $data[] = array(          'field_id' => $_POST['field_id'][$k],           'choice' => $_POST['choice'][$k],           'uid' => $_POST['uid'],          'game_id' => $_POST['game_id'],          'server_id' => $_POST['server_id']      );    }   }
ログイン後にコピー
ログイン後にコピー

$data = array();if (!empty($_POST['field_id'])) {   foreach ($_POST['choice'] as $k => $v) {      if($v == '') continue;      $data[] = array(          'field_id' => $_POST['field_id'][$k],           'choice' => $_POST['choice'][$k],           'uid' => $_POST['uid'],          'game_id' => $_POST['game_id'],          'server_id' => $_POST['server_id']      );    }   }
ログイン後にコピー
ログイン後にコピー


谢谢版主,不过我下面用的批量添加的时候,如果已经选择过了的会提示失败,tp里面addall怎么判断是否已经添加过了呢
$Choice=D('Myselect');			//$choices=$Choice->addAll($data);			if($Choice->addAll($data)){				$back['status']='success';				$back['msg']='您的投注已经成功!';				$back['url']='game';				$this->back($back);			 	}else{				$back['status']='error';				$back['msg']='投注失败!别重复下注哦!';				$back['url']='game';				$this->back($back);				exit;				}			}
ログイン後にコピー

if($Choice->addAll($data,array(),true)){}看了下mod默认是false,改成true会一直改变数据库的值,那就没有意义了
if($Choice->addAll($data,array(),false)){}这种情况怎么判断是否已经存在数据库了呢,各位前辈有什么好的办法吗?

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles