Conditions | 4 |
Paths | 6 |
Total Lines | 29 |
Code Lines | 14 |
Lines | 0 |
Ratio | 0 % |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
12 | public static function toString(Translations $translations) |
||
13 | { |
||
14 | $array = PhpArray::toArray($translations); |
||
15 | |||
16 | //for a simple json translation dictionary, one domain is supported |
||
17 | $values = current($array); |
||
18 | |||
19 | // remove meta / header data |
||
20 | if (array_key_exists('', $values)) { |
||
21 | unset($values['']); |
||
22 | } |
||
23 | |||
24 | $handle = fopen('php://memory', 'w'); |
||
25 | |||
26 | //map to a simple csv dictionary (no plurals) |
||
27 | foreach ($values as $original => $translated) { |
||
|
|||
28 | if (!isset($translated[1])) { |
||
29 | $translated[1] = ''; |
||
30 | } |
||
31 | fputcsv($handle, array($original, $translated[1])); |
||
32 | } |
||
33 | |||
34 | rewind($handle); |
||
35 | $csv = stream_get_contents($handle); |
||
36 | |||
37 | fclose($handle); |
||
38 | |||
39 | return $csv; |
||
40 | } |
||
41 | } |
||
42 |
There are different options of fixing this problem.
If you want to be on the safe side, you can add an additional type-check:
If you are sure that the expression is traversable, you might want to add a doc comment cast to improve IDE auto-completion and static analysis:
Mark the issue as a false-positive: Just hover the remove button, in the top-right corner of this issue for more options.