2015-12-02 58 views
1

我是新來的php,並想知道如何使以下可能...PHP連接值到數組

下面我有幾個數組填充從數據庫行。編號喜歡有一個新的陣列mappingId連接幾行以形成mappingId陣列的值。下面我使用了array_combine,但這似乎不起作用。任何人都可以建議使用什麼?

$appId = array(); 
$appDate = array(); 
$appTime = array(); 
$appDoctorId = array(); 
$mappingId = array(); // combined values 

for ($i = 0; $i < mysqli_num_rows($resultAppointmentsBooked); $i++) 
{ 
    $row = mysqli_fetch_row($resultAppointmentsBooked); 
    $appId = $row[0]; 
    $ids[] = $row[0]; 
    $appTime[] = $row[3]; 
    $appDate[] = $row[4]; 
    $appDoctorId[] = $row[2]; 
    $mappingId = array_combine($row[4], $row[3], $row[2]); 

    //Test output 
    echo "MappingId: $row[4]$row[3]$row[2] <br />"; 
    echo "MappingId2: - $mappingId[$i] <br />"; 
} 

我也用 'array_merge' 下面的方式...

   $ids[] = $row[0]; 
       $appTime[] = $row[3]; 
       $appDate[] = $row[4]; 
       $appDoctorId[] = $row[2]; 

       $mappingId = array_merge($appDate, $appTime, $appDoctorId); 

但是當我打印值...

   echo "MappingId2: $mappingId[$i] <br />"; 

只輸出的值第一陣列。

+0

'$ mappingId'應該如何保存數據? –

+0

你得到什麼數據'$ resultAppointmentsBooked'和你想如何構建'$ mappingId'? – deepakb

+0

只是一個挑逗,連接是一個字符串操作,所以你不能連接值到一個數組。 array_combine需要兩個數組作爲參數(一個用於鍵和一個用於值),所以傳遞字符串將不起作用。 –

回答

1

嘗試這樣的事情。如果這是你需要的。以下代碼 $mappingId包含陣列格式的個體appDate,appTimeappDoctorId的陣列。如果你不希望數組只想連接這些值和一個元素,那麼你也可以這樣做。請告訴我!

$mappingId = array(); // combined values 

for ($i = 0; $i < mysqli_num_rows($resultAppointmentsBooked); $i++) 
{ 
    $row = mysqli_fetch_row($resultAppointmentsBooked); 
    $appId = $row[0]; 
    $appTime = $row[3]; 
    $appDate = $row[4]; 
    $appDoctorId = $row[2]; 
    $myArr = array(); 
    //array_push($myArr, $appDate, $appTime, $appDoctorId); 
    // If you want in concatenate format 
    array_push($myArr, $appDate."".$appTime."".$appDoctorId); 
    array_push($mappingId, $myArr); 
} 
+0

陣列推動似乎做的工作! – Jasper

+0

太棒了!很高興知道它現在對你有用! – deepakb

0

我想你要尋找的是array_merge

array_merge(array(1), array(2,3)); //return array(1,2,3) 
+0

請提供一個代碼示例來進一步解釋您的答案。另外*爲什麼*'array_merge'。 –

1

你可以這樣做值添加到一個數組:

$mappingId[] = 'Hello'; 
$mappingId[] = 'There'; 
$mappingId[] = 'Friend'; 

結果:

$mappingId = array('Hello', 'There', 'Friend'); 

- -

您也可以使用array_merge

這將一個或多個數組的元素合併在一起,以便將一個值的值附加到前一個元素的末尾。它返回結果數組。

0

嘗試這樣的事情,array_merge應該工作:

$ids = $row[0]; 
$appTime = $row[3]; 
$appDate = $row[4]; 
$appDoctorId = $row[2]; 
$mappingId = array_merge($ids, $appTime, $appDate, $appDoctorId); 

echo "MappingId: $row[4]$row[3]$row[2] <br />"; 
echo "MappingId2: - $mappingId <br />"; 
+0

你好,我已經試過這個,它的結果是沒有輸出。 @david – Jasper