Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 11, 2020. It is now read-only.

Commit 4d0194f

Browse files
committed
fix: Arr::getByPath can not fetch value like 'response.0'
1 parent d7ab0e8 commit 4d0194f

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

‎src/ArrayHelper.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,12 @@ public static function existsAll($need, $arr, $type = false)
314314
} else {
315315

316316
#以逗号分隔的会被拆开,组成数组
317-
if (strpos($need, ',') !== false) {
318-
$need = explode(',', $need);
317+
if (\strpos($need, ',') !== false) {
318+
$need = \explode(',', $need);
319319
self::existsAll($need, $arr, $type);
320320
} else {
321321
$arr = self::valueToLower($arr);//小写
322-
$need = strtolower(trim($need));//小写
322+
$need = \strtolower(trim($need));//小写
323323

324324
if (!\in_array($need, $arr, $type)) {
325325
return $need;
@@ -355,7 +355,7 @@ public static function existsOne($need, $arr, $type = false): bool
355355
}
356356

357357
$arr = self::changeValueCase($arr);//小写
358-
$need = strtolower($need);//小写
358+
$need = \strtolower($need);//小写
359359

360360
if (\in_array($need, $arr, $type)) {
361361
return true;
@@ -406,7 +406,9 @@ public static function getByPath($data, string $path, $default = null, string $s
406406
return $data[$path];
407407
}
408408

409-
if (!$nodes = array_filter(explode($separator, $path))) {
409+
// Error: will clear '0'. eg 'some-key.0'
410+
// if (!$nodes = array_filter(explode($separator, $path))) {
411+
if (!$nodes = \explode($separator, $path)) {
410412
return $default;
411413
}
412414

@@ -486,7 +488,7 @@ public static function collapse($array): array
486488
continue;
487489
}
488490

489-
$results = array_merge($results, $values);
491+
$results = \array_merge($results, $values);
490492
}
491493

492494
return $results;
@@ -499,10 +501,10 @@ public static function collapse($array): array
499501
*/
500502
public static function crossJoin(...$arrays): array
501503
{
502-
return array_reduce($arrays, function ($results, $array) {
503-
return static::collapse(array_map(function ($parent) use ($array) {
504-
return array_map(function ($item) use ($parent) {
505-
return array_merge($parent, [$item]);
504+
return \array_reduce($arrays, function ($results, $array) {
505+
return static::collapse(\array_map(function ($parent) use ($array) {
506+
return \array_map(function ($item) use ($parent) {
507+
return \array_merge($parent, [$item]);
506508
}, $array);
507509
}, $results));
508510
}, [[]]);
@@ -530,7 +532,7 @@ public static function dot($array, $prepend = ''): array
530532

531533
foreach ($array as $key => $value) {
532534
if (\is_array($value) && !empty($value)) {
533-
$results = array_merge($results, static::dot($value, $prepend . $key . '.'));
535+
$results = \array_merge($results, static::dot($value, $prepend . $key . '.'));
534536
} else {
535537
$results[$prepend . $key] = $value;
536538
}
@@ -677,7 +679,7 @@ public static function flatten($array, $depth = INF): array
677679
* @param array|string $keys
678680
* @return void
679681
*/
680-
public static function forget(&$array, $keys): void
682+
public static function forget(&$array, $keys)
681683
{
682684
$original = &$array;
683685
$keys = (array)$keys;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /