У меня есть следующий кодPHP распознавания строки в виде массива
dd(gettype($default));
$test = substr($default,0,2);
GetType возвращает этот тип $ умолчанию является строка Следующая ошибка происходит на второй линии:
substr() expects parameter 1 to be string, array given
Как это происходит, и как я могу его решить?
редактировать var_dump также возвращает строку как тип
редактировать $ по умолчанию содержит следующую строку: "1015"
редактировать полный код блока
Form::macro('time', function ($name, $default) {
$hours = value(function() use ($default){
echo gettype($default);
$test = substr($default,0,2);
$hours = ['' => $test];
for ($hour = 0; $hour < 24; $hour++) {
$hours[$hour] = $hour;
}
return $hours;
});
редактировать код, в котором используется макрос
{{ Form::label('reservation_starthour', 'starthour') }}
{{ Form::time('starthour',$reservation->starthour) }}
Схема таблицы резервирования
Schema::create('reservations', function (Blueprint $table) {
$table->increments('id');
$table->integer('group_id')->unsigned();
$table->date('startdate');
$table->date('enddate');
$table->string('starthour');
$table->string('endhour');
});
Что делает dd()? – VeeeneX
@VeeeneX Это встроенная функция Laravel: var_dump и die, dd. Если вы 'dd ($ default)' без 'gettype', что он возвращает? –
Сделайте некоторые основные проблемы со стрельбой, Var Дамп всех переменных, чтобы увидеть, что они стоят – Patrick