PHP - 处理重复的数组键(内部指针)

时间:2017-08-12 23:05:55

标签: php arrays pointers key

我有以下几行代码从我的数据库中提取一些数据。我需要引用数据的一些特定内容,但我遇到了重复数组键的问题。由于项目的复杂性,我不想使用SQL语句对数据进行排序。

检查数组的指针后,生成以下内容。 ([0] => 0)数组([0] => 0)数组([0] => 0)数组([0] => 0)数组([0] => 0)数组([0] => 0)数组([0] => 0)数组([0] => 0)

印刷阵列的样本: ([0] =&gt; 3371450.18)数组([0] =&gt; 54459051.95)数组([0] =&gt; 210382.52)数组([0] =&gt; 6860440.01)数组([0] =&gt; 13131358.12)< / p>

由于所有数组键都是重复的,因此某些PHP数组函数(如array_sum,array_max)等对数组起作用并且它变得非常令人沮丧。

我想知道这是不是因为while循环。 while循环中的数组指针是否总是重复。    `

if(isset($_SESSION['sess']) && !empty(isset($_SESSION['sess']))){

echo "Session id is ".$_SESSION['sess']." exist";
$currentSession = $_SESSION['sess'];
$sql = "SELECT * FROM `loanbook` WHERE LoanBookSessionId='$currentSession'";
$result = mysqli_query($dbs,$sql);
$teamselection = "SELECT * FROM `Teams`";
$teamresult = mysqli_query($dbs,$teamselection);
while($row = mysqli_fetch_array($result)){ 

 ?>
 <?php
 $Sn[] = $row['Id'];
 $Team = $row['Team'];
 $CounterClass = $row['CounterPartyClassification'];
 $GrossL = $row['GrossLoan'];
 $CollType = $row['CollateralType'];

 print_r(array_keys(array($GrossL)));
 print_r((array($GrossL)));
 }

 ?>`

1 个答案:

答案 0 :(得分:0)

看起来好像你有一个2d数组,其中每个内部数组都包含一个代表浮点数的字符串。

将每个内部数组映射到已解析的浮点值应提供所需的数据结构。

<?php

$x = [
    ["1.43434"],
    ["1.43434"],
];

echo json_encode($x) . "\n";

echo json_encode(array_map(function($t) {
    return floatval($t[0]);
}, $x));

输出

▶ php test.php
[["1.43434"],["1.43434"]]
[1.43434,1.43434]