簡體   English   中英

PHP數組未返回正確的值

[英]PHP Array not returning proper value

我有一個數組

$row['sku'] = '12345';
$row['name'] = 'Spaceballs';

當我var_dump整個數組時,我得到了所有值。 但是,如果我嘗試僅獲得$row['sku']則會得到NULL 知道什么會導致此問題嗎?

編輯:我正在嘗試通過一個相當大的產品CSV進行排序。 有問題的代碼在這里:

$fieldColumns = fgetcsv($file); // Getting the first row with column descriptors
$r = fgetcsv($file); // This is looped, grabs the next row containing values
$row = array_combine($fieldColumns, $r);  // Merging the two arrays
var_dump($row,$row['sku']);die();  // Exactly like in my code, the 'sku' is dumping NULL

有問題的CSV是這樣的:

sku,name,etc
12345,Spaceballs,etc

因為您沒有顯示從var_dump( var_dump($row,$row['sku']); )中得到的信息,並且沒有提供完整的PHP腳本,所以不可能找出問題所在。

對我來說,它沒有任何問題:

source.csv:

sku,name
12345,Spaceballs
321,test1
654,test2

PHP腳本:

<?php
if (false !== ($file = fopen('source.csv', 'r'))) {
    $header = fgetcsv($file);
    while ($row = fgetcsv($file)) {
        $row = array_combine($header, $row);
        var_dump($row, $row['sku']);
    }
} else
    echo "Can't open the CSV file!";

我挖了一下,傳輸文件的系統不知道如何處理UTF-8編碼,並在文件開頭添加了一些垃圾字符。 我將得到的輸出將顯示兩個sku元素。 var_dump給我第一個元素的字符串(6)和第二個元素的字符串(3),確認了這一點。 快速瀏覽dos2unix可解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM