【问题标题】:PHP Getting a value out of an arrayPHP 从数组中获取一个值
【发布时间】:2018-05-02 06:01:18
【问题描述】:

我从 CSV 文件中提取了以下数组。

 $line =    Array ( 
            [0] => First 
            [1] => Last 
            [2] => 102338100053 
            [3] => https://url.com/SKnuDbowTveUsHXwMAnixg?t=kIMVJtQ 
            [4] => 48a9ee0d-ba30-4ef7-94b0-75f03009e2c6 
            [5] => 1436.75 
            [6] => 21.55125 
        )

我正在尝试获取 [2] 的值

我是这样提取的

$number2 = $line[2];

这很好。我得到以下回应。 102338100053

当我尝试从变量中提取前 6 个数字时使用

$Identifier = substr($number2 ,0,6)

我只得到 2 个数字:10

如果我使用 12

$siteIdentifier = substr($number2 ,0,12)

我得到:102338

我发现这很混乱,所以我用 urlencode 检查了变量

echo urlencode($number2);

这是我收到的:%001%000%002%003%003%008%001%000%000%000%005%003%00

我只需要获取数字,但我不知道该怎么做,因为我在数据库中搜索它却找不到它?

有人可以帮忙吗?

【问题讨论】:

  • 尝试调试var_dump($updateMembernumber,$number2)
  • 试试 $Identifier = $updatedMembernumber % 1000000;
  • $updateMembernumber !== $number2。检查您是否使用了 2 个不同的变量。因为它对我有用:- eval.in/997902
  • 对不起,updatedmembernumber 应该是 number2
  • 工作示例:eval.in/997905

标签: php arrays csv


【解决方案1】:

您可以尝试使用gettype(),它会为您提供变量的数据类型。那么剩下的一定很容易理解。我使用了$i<6 条件,因为您提到您只需要前六个整数。

$i= 0;
foreach($line as $key => $value){
if(gettype($value) == integer){
if($i<6){
          $ints[$i] = $value;
          $i++;
        }
     }
 }

【讨论】:

  • 请为您的答案添加一些解释。简单的Try this 这样的回答不是很有帮助。
猜你喜欢
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 2012-06-24
  • 2022-10-22
  • 1970-01-01
  • 2018-05-05
  • 1970-01-01
相关资源
最近更新 更多