数组增量问题

Posted

技术标签:

【中文标题】数组增量问题【英文标题】:problem with array increment 【发布时间】:2011-07-14 20:01:58 【问题描述】:

我有带有字母数字键值的数组。在特定条件下填充数组时,我用empty 字填充了数组键。现在我想如果键 empty 出现数组应该增加一个位置,这样该值就不会存储在数据库中。只是想跳过该键并移至下一个。

foreach( $inputs as $key => $value) 

if(key($inputs)=="empty") $inputs[]++; 
else   echo "<strong>$key</strong> Singer <strong>$value</strong></br>";
//INSERT Query;    

【问题讨论】:

【参考方案1】:

要删除数组中的元素,请使用:

unset($inputs[$key]);

对于跳过,也许最明显的是:

if(key($inputs) !== "empty") 
   //..

注意:您可以在一个查询中插入多行,这样做可能会更好。构建一个包含行“(value1,value2,...)”的数组并使用implode

【讨论】:

注意完全匹配,但这应该有助于理解这个概念:***.com/questions/4300552/php-array-to-sql【参考方案2】:

您可能的意思是在 foreach 循环中使用条件 continue 之类的东西:

foreach( $inputs as $key => $value)

  if ($key === "empty")
  
    continue; # at next element in $inputs
  
  echo "<strong>$key</strong> Singer <strong>$value</strong></br>";
  //INSERT Query;

【讨论】:

【参考方案3】:

不确定我是否明白你想要什么,但是:

foreach( $inputs as $key => $value) 
    if ($key == 'empty') continue;

    // insert query

【讨论】:

【参考方案4】:

使用continue

改变这个:

if(key($inputs)=="empty") $inputs[]++; 

收件人:

if(key($inputs)=="empty") continue; 

【讨论】:

【参考方案5】:

我想你想要这个:

foreach( $inputs as $key => $value) 
if($key == "empty") 
    $inputs[$key]++; 

else   
    echo "<strong>$key</strong> Singer <strong>$value</strong></br>";
    //INSERT Query;    

【讨论】:

这是跳过特定键并跳转到下一个吗? 这将增加该键的值 我有困惑。因为它将键的值增加一。 N 我有字母键。

以上是关于数组增量问题的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 增量数组 React

排序算法之希尔排序及其增量序列

在 C++ 中实现增量数组

值数组中每个元素的 PromQL 增量

通过数组创建新对象时的C#增量

Leetcode使数组唯一的最小增量(每日一题)