Проверьте значение в массиве PHP и переназначьте результат переменной - PullRequest
0 голосов
/ 07 февраля 2019

Буду очень признателен, если вы поможете решить эту проблему с PHP.

  1. Мне нужно проверить значение $fl_blackriver, $fl_flacq и т. Д. *
  2. если value=="", присвойте 0 этому значению
  3. и обновите соответствующую переменную с обновленным значением

$fl_blackriver = $_REQUEST['fl_blackriver'];
$fl_flacq = $_REQUEST['fl_flacq'];
$fl_grandport = $_REQUEST['fl_grandport'];
$fl_moka = $_REQUEST['fl_moka'];
$fl_pamplemousses = $_REQUEST['fl_pamplemousses'];
$fl_plaineswilhems = $_REQUEST['fl_plaineswilhems'];
$fl_portlouis = $_REQUEST['fl_portlouis'];
$fl_rivieredurempart = $_REQUEST['fl_rivieredurempart'];
$fl_savanne = $_REQUEST['fl_savanne'];
$fl_finalize = $_REQUEST['fl_finalize'];

$district = array($fl_blackriver,$fl_flacq,$fl_grandport,$fl_moka,$fl_pamplemousses,$fl_plaineswilhems,$fl_portlouis,$fl_rivieredurempart,$fl_savanne,$fl_finalize);

$arrlength = count($district);


for($x = 0; $x < $arrlength; $x++)
{
  if ($district[$x]=="")
    $district[$x] = "0";
}

Ответы [ 5 ]

0 голосов
/ 07 февраля 2019

Я бы сделал это в переменной функции, возвращающей массив, если задано несколько аргументов, или источник любого типа, когда присутствует только один аргумент.

function request(string ...$names)
{
  foreach ($names as &$v)
    $v = '' === ($v = $_REQUEST[$v] ?? 0) ? 0 : $v;
  return 1 === count($names) ? $names[0] : $names;
}


[$fl_blackriver, $fl_flacq] = request('fl_blackriver', 'fl_flacq');
$fl_grandport               = request('fl_grandport');

$district                   = request('fl_blackriver','fl_flacq','fl_grandport','fl_moka','fl_pamplemousses','fl_plaineswilhems','fl_portlouis','fl_rivieredurempart','fl_savanne','fl_finalize');

var_dump($fl_blackriver, $fl_flacq, $fl_grandport);
var_dump($district);

Чтобы получить пары ключ / значение в ассоциативном массиве:

function request_assoc(string ...$names) : array
{
  $names = array_flip($names);
  foreach ($names as $k => &$v)
    $v = '' === ($v = $_REQUEST[$k] ?? 0) ? 0 : $v;

  return $names;
}
0 голосов
/ 07 февраля 2019
foreach($_REQUEST as $key => $value) {
if (! is_numeric($value)) {
    $_REQUEST[$key] = 0;
}}
extract($_REQUEST);
0 голосов
/ 07 февраля 2019

Это не выглядит красиво, но это должно сработать:

$fl_blackriver = $_REQUEST['fl_blackriver'];
$fl_flacq = $_REQUEST['fl_flacq'];
$fl_grandport = $_REQUEST['fl_grandport'];
$fl_moka = $_REQUEST['fl_moka'];
$fl_pamplemousses = $_REQUEST['fl_pamplemousses'];
$fl_plaineswilhems = $_REQUEST['fl_plaineswilhems'];
$fl_portlouis = $_REQUEST['fl_portlouis'];
$fl_rivieredurempart = $_REQUEST['fl_rivieredurempart'];
$fl_savanne = $_REQUEST['fl_savanne'];
$fl_finalize = $_REQUEST['fl_finalize'];

$district = array(
    'fl_blackriver' => $fl_blackriver,
    'fl_flacq' => $fl_flacq,
    'fl_grandport' => $fl_grandport,
    'fl_moka' => $fl_moka,
    'fl_pamplemousses' => $fl_pamplemousses,
    'fl_plaineswilhems' => $fl_plaineswilhems,
    'fl_portlouis' => $fl_portlouis,
    'fl_rivieredurempart' => $fl_rivieredurempart,
    'fl_savanne' => $fl_savanne,
    'fl_finalize' => $fl_finalize
);

foreach ($district as $key => $value) {
    if ($value === "") {
        $$key = "0";
    }
}
0 голосов
/ 07 февраля 2019

Вы можете попробовать следующий процесс.Он проверит значение, является ли оно пустым или нет.Если значение пустое, тогда оно будет установлено на 0. В противном случае оно примет запрошенное значение.

$fl_blackriver = (isset($_REQUEST['fl_blackriver'])) ? $_REQUEST['fl_blackriver'] : 0;
$fl_flacq = (isset($_REQUEST['fl_flacq'])) ? $_REQUEST['fl_flacq'] : 0;
$fl_grandport = (isset($_REQUEST['fl_grandport'])) ? $_REQUEST['fl_grandport'] : 0;
$fl_moka = (isset($_REQUEST['fl_moka'])) ? $_REQUEST['fl_moka'] : 0;
$fl_pamplemousses = (isset($_REQUEST['fl_pamplemousses'])) ? $_REQUEST['fl_pamplemousses'] : 0;
$fl_plaineswilhems = (isset($_REQUEST['fl_plaineswilhems'])) ? $_REQUEST['fl_plaineswilhems'] : 0;
$fl_portlouis = (isset($_REQUEST['fl_portlouis'])) ? $_REQUEST['fl_portlouis'] : 0;
$fl_rivieredurempart = (isset($_REQUEST['fl_rivieredurempart'])) ? $_REQUEST['fl_rivieredurempart'] : 0;
$fl_savanne = (isset($_REQUEST['fl_savanne'])) ? $_REQUEST['fl_savanne'] : 0;
$fl_finalize = (isset($_REQUEST['fl_finalize'])) ? $_REQUEST['fl_finalize'] : 0;

$district = array($fl_blackriver,$fl_flacq,$fl_grandport,$fl_moka,$fl_pamplemousses,$fl_plaineswilhems,$fl_portlouis,$fl_rivieredurempart,$fl_savanne,$fl_finalize);
0 голосов
/ 07 февраля 2019

Вы можете сделать это с помощью троичного оператора, как это,

$fl_blackriver = !empty($_REQUEST['fl_blackriver']) ? $_REQUEST['fl_blackriver'] : 0 ;    
        $fl_flacq = !empty($_REQUEST['fl_flacq']) ? $_REQUEST['fl_flacq'] : 0 ;  
        $fl_grandport = !empty($_REQUEST['fl_grandport']) ? $_REQUEST['fl_grandport'] : 0 ;    
        $fl_moka = !empty($_REQUEST['fl_moka']) ? $_REQUEST['fl_moka'] : 0 ; 
        $fl_pamplemousses = !empty($_REQUEST['fl_pamplemousses']) ? $_REQUEST['fl_pamplemousses'] : 0 ; 
        $fl_plaineswilhems = !empty($_REQUEST['fl_plaineswilhems']) ? $_REQUEST['fl_plaineswilhems'] : 0 ; 
        $fl_portlouis = !empty($_REQUEST['fl_portlouis']) ? $_REQUEST['fl_portlouis'] : 0 ; 
        $fl_rivieredurempart = !empty($_REQUEST['fl_rivieredurempart']) ? $_REQUEST['fl_rivieredurempart'] : 0 ; 
        $fl_savanne =  !empty($_REQUEST['fl_savanne']) ? $_REQUEST['fl_savanne'] : 0 ; 
        $fl_finalize =  !empty($_REQUEST['fl_finalize']) ? $_REQUEST['fl_finalize'] : 0 ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...