2017-06-11 11 views
1
$original = unserialize(base64_decode($rows['original'])); 

echo "<b>ORIGINAL</b><br />"; 

if ($original != null) { 
    foreach($original as $value) { 
     echo $value."<br />"; 
    } 

    print_r($original); 
    echo $total_originals = count($rows['original']); 
} 

データベースから配列をアンシリアル化した後、配列の要素の数が正しくありません。配列数が正しく表示されない

print_r()出力:

Array ([0] => Aadhar [1] => Pan Card [2] => Address [3] => Light Bill) 

count()出力:配列における1つだけの要素を示す

1 

その、それは3であるべきです!何が間違っている?

+2

'$ rows ['original']!= $ original'です。 'count($ original)'を行います。 –

+2

ええ、 '$ rows ['original']'を数えると、データベースからの文字列を数えているように見えます。 –

+1

base64でエンコードされた文字列をシリアル化する具体的な理由はありますか? – walther

答えて

0
$rows['original'] 

は、明らかにbase64でエンコードされ、シリアル化された文字列です。あなたは要素をカウントしたい場合は、

count($original) 

私はあなたが文字列のカウント動作を実行し、それがシリアル化され、エンコードされた要素の数を返すことを期待することはできません怖いを行う必要があります。

+0

ああ、おかげで申し訳ありません。ありがとうございました:)悪い印はあなたに答えます。 –

関連する問題