for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Frostaly\VarExporter\Encoders;
use Frostaly\VarExporter\Contracts\EncoderInterface;
use Frostaly\VarExporter\Encoder;
class ArrayEncoder implements EncoderInterface
{
/**
* {@inheritDoc}
*/
public function supports(mixed $value): bool
return is_array($value) || $value instanceof \ArrayAccess;
}
*
* @param array|\ArrayAccess $value
public function encode(Encoder $encoder, mixed $value): array
$array = (array) $value;
$omitKey = array_is_list($array);
array_is_list
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
ignore-call
$omitKey = /** @scrutinizer ignore-call */ array_is_list($array);
foreach ($array as $key => $value) {
$encoded[] = [...$encoder->encode($value), ','];
$omitKey ?: array_unshift(
$encoded[array_key_last($encoded)],
$encoded
foreach
31
var_export($key, true) . ' => ',
);
return isset($encoded) ? ['[', $encoded, ']'] : ['[]'];