-1
いくつかの単語が含まれている場合、csvカラム(文字列)をチェックする必要があります。それをcsvの配列に追加します。ここに私の現在のコードです。PHPがstrposでcsvカラムをチェックする
例のcsv
A B
1 Order Number Order Items
2 100001 foo - sbar - ybaz - z
3 100002 foo - sbar - ybaz - z
は、これは私のコードです。
$csv = array_map("str_getcsv", file(/path/to/csv/, FILE_SKIP_EMPTY_LINES));
$keys = array_shift($csv);
$values = ["foo - s", "baz - z"];
foreach ($csv as $key => $row) {
$csv[$key] = array_combine($keys, $row)
foreach ($values as $value) {
if (strpos($row[0], $value) !==FALSE) {
$csv[$key][$keys[1]] = $value;
}
}
}
これは私が達成したいことです。
[0] =>
array(2) => {
["Order Number"] => "100001"
["Order Items"] =>
array (2) {
[0] => "foo - x",
[1] => "baz - z"
}
}
[1] =>
array(2) => {
["Order Number"] => "100002"
["Order Items"] =>
array (2) {
[0] => "foo - x",
[1] => "baz - z"
}
}
これは私がこの$csv[$i][$keys[1]][] = $value;
このエラーショー追加して作る場合はどのような私のコードの出力
[0] =>
array(2) => {
["Order Number"] => "100001"
["Order Items"] => "baz - z"
}
[1] =>
array(2) => {
["Order Number"] => "100002"
["Order Items"] => "baz - z"
}
です:Fatal error: [] operator not supported for strings
$ rowが列名の文字列であることを確認してください。 –
はい、申し訳ありません。自分のコードに関する情報を追加しました。どうぞご覧ください –
'$ csv [$ i] = array_combine ...' $ iとは何ですか? – splash58