在函数参数中转换数据类型?

时间:2017-10-08 12:51:52

标签: php

有谁知道它失败的原因?

FooComponent

这是错误:

  

解析错误:语法错误,意外T_STRING_CAST,期待'&'或第3行x.php中的T_VARIABLE

4 个答案:

答案 0 :(得分:1)

您要做的是:键入提示

这允许函数或类方法指定它收到的参数类型。

静态类型提示仅在PHP7中引入,因此使用大于您可以通过以下方式实现的版本:

<?php

function myFunction(string $string){
    echo $string;
}

现在传递给myFunction的任何非字符串参数都会引发错误。

答案 1 :(得分:0)

解析函数的参数时无法转换。在函数

中进行
function data($data)
{
echo (string) $data;

}

data(123);

答案 2 :(得分:0)

这应该有效:

<link href="https://www.w3schools.com/w3css/4/w3.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="w3-content w3-display-container " style="max-width:150px">

  <div class="w3-display-container w3-animate-fading mySlides">
    <a href="" target="_blank" title="slide1">
      <img class="" src="img01.jpg" style="width:100%">
    </a>
    <div class="w3-display-bottomleft w3-large 	w3-container w3- padding-16 w3-black">
      <a href="" target="_blank" title="slide1">Slide-1 (read more)</a>
    </div>
  </div>

  <div class="w3-display-container w3-animate-fading mySlides">
    <a href="" target="_blank" title="slide2">
      <img class="" src="img02.jpg" style="width:100%">
    </a>
    <div class="w3-display-bottomright w3-large w3-container w3-padding-16     w3-black">
      <a href="" target="_blank" title="slide2">Slide-2 (more)</a>
    </div>
  </div>

  <div class="w3-display-container w3-animate-fading mySlides">
    <a href="" target="_blank" title="slide3">
      <img class="" src="img03.jpg" style="width:100%">
    </a>
    <div class="w3-display-topleft w3-large w3-container 
           w3-padding-16 w3-black">
      <a href="" target="_blank" title="slide3">Slide-3 (read more)</a>
    </div>
  </div>

  <div class="w3-display-container w3-animate-fading mySlides">
    <a href="" target="_blank" title="slide4">
      <img class="" src="img04.jpg" style="width:100%">
    </a>
    <div class="w3-display-topright w3-large w3-container 
           w3-padding-16 w3-black">
      <a href="" target="_blank" title="slide4">Slide-4 (read more)</a>
    </div>
  </div>

  <div class="w3-display-container w3-animate-fading mySlides">
    <a href="" target="_blank" title="slide5">
      <img class="" src="img05.jpg" style="width:100%">
    </a>
    <div class="w3-display-middle w3-large w3-container  	
           w3-padding-16 w3-black">
      <a href="" target="_blank" title="slide5">Slide-5 (read	more)</a>
    </div>
  </div>

  <button class="w3-button w3-display-left w3-black" onclick="plusDivs(-1)">&#10094;</button>
  <button class="w3-button w3-display-right w3-black" onclick="plusDivs(1)">&#10095;</button>

</div>

但你必须使用PHP7。我用PHP7测试了该代码。

<?php 
function data(string $data) {
    echo $data;
}

data(123);

答案 3 :(得分:0)

您不能像这样进行类型转换,而是可以使用类型提示的概念提示您的参数类型了解更多关于type hinting的信息

<?php 
function data(string $data)
{
echo $data;

}

data(123);

或者如果你对此很好,你可以像这样使用

<?php 
function data($data)
{
echo (string) $data;

}

data(123);