Originariamente inviata da
boots
Quindi è corretto...come mai prima hai scritto che array_pop($pop) = 'guide' ?
Il codice è sempre lo stesso, o hai fatto qualche cambiamento ?
Ciao boots, infatti non capivo il perché non funzionasse, ora posto tutto il codice della pagina, perché forse ho capito cosa da errore:
codice:
@extends('layouts.master')
@section('title', 'Tutto Vespa | Guide')
@section('content')
<!-- vero body, mostra le varie notizie -->
<div class="row">
<div id="tm-section-2" class="tm-section">
<div class="tm-container tm-container-wide">
@if($h!=null)
<h1 class="tm-news-text">Tutte le nostre guide</h1>
@foreach ($h as $value)
<div class="tm-news-item">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-6 col-xl-6 tm-news-item-img-container">
<img src="../../Image/guide/{{$value['id']}}.jpg" alt="Image" class="img-fluid tm-news-item-img">
</div>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-6 col-xl-6 tm-news-container">
<h2 class="tm-news-title dark-gray-text">Tipologia: {{$value['tipologia']}} | Titolo: {{$value['titolo']}}</h2>
<p class="tm-news-text">{{$value['sottotitolo']}}</p>
<p class="tm-news-text">Difficoltà: {{$value['difficolta']}} | Tempo di lavorazione: {{$value['lavorazione']}} min</p>
<a href="/guide/{{$value['id']}}" class="btn tm-light-blue-bordered-btn tm-news-link">Leggi tutto</a>
</div>
</div>
@endforeach
@endif
<!-- select di navigazione tra le pagine web -->
@if($elementi<10)
<label class="blue-text">Pagina </label>
<select>
<option value="1">1</option>
</select>
<label class="blue-text">di 1 </label>
@elseif(($elementi%2)==0)
<label class="blue-text">Pagina </label>
<select name="url" onchange="location.href=this.value">
@for($i=0;$i<($elementi/10);$i++)
@php
$pop=explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
@endphp
@if(array_pop($pop)==($i+1))
<option value="http://localhost:8000/guide/show/{{($i+1)}}" selected>{{$i+1}}</option>
@else
<option value="http://localhost:8000/guide/show/{{($i+1)}}">{{$i+1}}</option>
@endif
@endfor
</select>
<label class="blue-text">di {{$i}}</label><br/>
@elseif(($elementi%2)!=0)
<label class="blue-text">Pagina </label>
<select name="url" onchange="location.href=this.value">
@for($i=0;$i< (floor($elementi/10)+1);$i++)
@php
$pop=explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
@endphp
@if(array_pop($pop)==($i+1))
<option value="http://localhost:8000/guide/show/{{($i+1)}}" selected>{{$i+1}}</option>
@else
<option value="http://localhost:8000/guide/show/{{($i+1)}}">{{$i+1}}</option>
@endif
@endfor
</select>
<label class="blue-text">di {{$i}}</label><br/>
@endif
<br/>
<label>Il print_r prima di array_pop è: {{print_r($pop)}}</label><br/>
<label>l'echo di parse_url è: {{parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)}}</label><br/>
<label>Il valore di ARRAY_POP è: {{array_pop($pop)}}, mentre quello di print_r è: {{print_r($pop)}}</label>
<!-- fine della select di navigazione tra le pagine web -->
</div>
</div>
</div>
@endsection
Praticamente, nel codice, se nella @if(array_pop($pop)==($i+1)) elimino array_pop($pop), lasciandolo solo @if(($i+1)) allora quando stampo i valori di print_r ed array_pop($pop) ottengo i giusti valori...se invece lascio l'if così come mi occorre, cioè @if(array_pop($pop)==($i+1)), ottengo quando vado a stampare:
1)Il print_r prima di array_pop : Array ( [0] => [1] => guide [2] => show )
2) l'echo di parse url è corretto: /guide/show/1 o /guide/show/2 a seconda della pagina
3) array_pop è show anziché 1 o 2.....se ristampo print_r ottengo Array ( [0] => [1] => guide ) 1