Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
estou tentando fazer o código abaixo escrever somente as linhas em que os dois valores estejam presentes, "echo osc_item_meta_name() echo osc_item_meta_value()", porém de todas as formas que tentei não obtive sucesso, alguém poderia me dar uma ajuda. Já tentei fazer um for, receber os valores em em outra variavel, isset, empty, !=. Mas não tem jeito.
<?php while ( osc_has_item_meta() ) { ?>
<?php if(osc_item_meta_value()!='') { ?>
<div class="row">
<div class="col-md-12">
<div class="meta <?php echo $class; ?>">
<strong><?php echo osc_item_meta_name(); ?>:</strong> <?php echo osc_item_meta_value(); ?><br/>
</div>
</div>
</div>
<?php $class = ($class == 'even') ? 'odd' : 'even'; ?>
<?php } ?>
<?php } ?>O retorno são strings, exemplo, televisão: 1
Rádio: 2
Eu tentei usar o empty, mas não consegui! sempre escreve todos os valores.
@Rzorr Mostra os retornos dos métodos, osc_item_meta_value() e osc_item_meta_name().
>
8 minutos atrás, gabrielms disse:
@Rzorr Qual é o retorno do método osc_has_item_meta()? esse método deve retorna apenas valores boleano; e os métodos osc_item_meta_value() e osc_item_meta_name(), qual são os retornos deles?
Se os retornos desses dois forem um valor string você pode usar um if com o método empy() com o operador logico ! , e o operador logico and logo apos o método empty().
<?php
while (osc_has_item_meta())
{
if (!empty(osc_item_meta_value()) and !empty(osc_item_meta_name()))
{
echo(osc_item_meta_value());
echo(osc_item_meta_name());
}
}
>
1 minuto atrás, gabrielms disse:
@Rzorr Mostra os retornos dos métodos, osc_item_meta_value() e osc_item_meta_name().
isso:Televisão /applications/core/interface/imageproxy/imageproxy.php?img=https://scwebimoveis.com.br/oc-content/themes/violet/images/tick.png&key=1da7e10a62e2d393e2649c3106e773114d292046f7cec07de25ca7c3cc2fee7f" style="border:0px;color:rgb(54,53,53);font-family:lato, sans-serif;font-size:15px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);" title="" data-imageproxy-source="https://scwebimoveis.com.br/oc-content/themes/violet/images/tick.png" /> Camas 2
Mas por Exemplo o
Maquina de lavar não tem, mesmo assim escreve máquina de lavar.
@Rzorr Espera que isso esclareça o que está ocorrendo!
<?php
function texto()
{
echo("Isso não é um retorno, e esse método não vai retorna nada, porem como eu estou utilizando o método echo, quando ele for chamado ele vai escrever");
}
function texto_2()
{
return("Esse método vai retorna um valor string");
}
if (!empty(texto()))
{
echo("Esse if não vai funcionar: ");
echo(texto());
}
echo("<br><br>");
if (!empty(texto_2()))
{
echo("Esse texto vai funcionar e vai escreer o valor no método text_2: ");
echo(texto_2());
}>
4 minutos atrás, gabrielms disse:
@Rzorr Espera que isso esclareça o que está ocorrendo!
<?php
function texto()
{
echo("Isso não é um retorno, e esse método não vai retorna nada, porem como eu estou utilizando o método echo, quando ele for chamado ele vai escrever");
}
function texto_2()
{
return("Esse método vai retorna um valor string");
}
if (!empty(texto()))
{
echo("Esse if não vai funcionar: ");
echo(texto());
}
echo("<br><br>");
if (!empty(texto_2()))
{
echo("Esse texto vai funcionar e vai escreer o valor no método text_2: ");
echo(texto_2());
}
Mas eu o que tentando fazer é com que só escreva o texto 1 quando existir valor no texto dois.
texto 1
Televisão
Texto 2
2
Texto 1
Maquina
Texto 2
( Vazio )
então não escreve maquina.@Rzorr Seria algo assim?
<?php
$texto_1 = "Televisão";
$texto_2 = "Maquina";
if (!empty($texto_1) and !empty($texto_2))
{
// Caso os dois valores não estejam em branco, vai escrever o valor na variável $texto_1
echo($texto_1);
} echo("Caso o valor dá variável esteja vazio ele vai escrever esse texto");
}>
8 horas atrás, gabrielms disse:
@Rzorr Seria algo assim?
<?php
$texto_1 = "Televisão";
$texto_2 = "Maquina";
if (!empty($texto_1) and !empty($texto_2))
{
// Caso os dois valores não estejam em branco, vai escrever o valor na variável $texto_1
echo($texto_1);
} echo("Caso o valor dá variável esteja vazio ele vai escrever esse texto");
}
$mostrar = (osc_item_meta_value() == '' || strpos(osc_item_meta_value(), 'cross.png') ? 0 : 1);
if ($mostrar) { ?>
A solução, indo dormir agora.
@Rzorr Qual é o retorno do método osc_has_item_meta()? esse método deve retorna apenas valores boleano; e os métodos osc_item_meta_value() e osc_item_meta_name(), qual são os retornos deles?
Se os retornos desses dois forem um valor string você pode usar um if com o método empy() com o operador logico ! , e o operador logico and logo apos o método empty().
<?php
while (osc_has_item_meta())
{
if (!empty(osc_item_meta_value()) and !empty(osc_item_meta_name()))
{