어떻게 PHP 에서 배열 을 사용 합 니까?

11806 단어 PHP배열
1.PHP 는 배열 에 있 는 요소 의 인 스 턴 스 를 어떻게 가 져 옵 니까?
PHP 에 서 는 count()함 수 를 사용 하여 배열 의 요소 개 수 를 통계 합 니 다.
예 를 들 어 count()함 수 를 사용 하여 배열 요소 의 개 수 를 통계 하고 예제 코드 는 다음 과 같다.

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array("php","thinkphp","laravel");
echo count($arr);
출력 결 과 는:
3
다음 인 스 턴 스 는 과정 데 이 터 를 배열 에 저장 하고 count()함수 로 배열 의 수량 을 재 귀적 으로 통계 하고 출력 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array(
 "php"=>array("php","thinkphp","laravel"),
 "js"=>array("vue","react")
);
echo count($arr,true);
출력 결 과 는:
7
주의:2 차원 배열 을 통계 할 때 count()함 수 를 직접 사용 하면 1 차원 배열 의 개수 만 표시 되 기 때문에 재 귀 된 그 당시 에 2 차원 배열 의 개 수 를 통계 합 니 다!
2.PHP 는 배열 의 지정 요 소 를 어떻게 조회 합 니까?
array_search()함수 가 배열 에서 주어진 값 을 검색 하고 찾 은 후에 키 값 을 되 돌려 줍 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.PHP 4.2.0 이전에 함 수 는 실패 할 때 false 가 아 닌 null 로 돌아 갑 니 다.
다음 인 스 턴 스 는 배열 함 수 를 종합 적 으로 응용 하여 배열 의 요 소 를 업데이트 하 는 값 을 실현 합 니 다.구체 적 인 예제 코드 는 다음 과 같 습 니 다.

<?php
header("Content-Type:text/html; charset=utf-8");

$names = "  1@  2@  3@  4";
$prices = "111@222@333@444";
$counts = "1@3@5@2";
$arrname = explode("@",$names); //['  1','  2','  3','  4']
$arrprice = explode("@",$prices); //['111','222','333','444']
$arrcount = explode("@",$counts); //['1','3','5','2']

if($_POST){
 $name = $_POST['name'];
 $count = $_POST['count'];
 $key= array_search($name, $arrname); //           
 $arrcount[$key] = $count; 
}

?>

<table width="500" birder="1" cellpadding="1" bordercolor="#fff" bgcolor="#c17e50">
 <tr>
  <td width="145" align="center" bgcolor="#fff">   </td>
  <td width="145" align="center" bgcolor="#fff">  </td>
  <td width="145" align="center" bgcolor="#fff">  </td>
  <td width="145" align="center" bgcolor="#fff">  </td>
 </tr>
 <?php
 $sum = 0;
 for($i=0;$i<count($arrname);$i++){  
 ?>
 <form action="#" method="post" name="form-<?php echo $i; ?>">
  <tr>
   <td width="145" align="center" bgcolor="#fff"><?php echo $arrname[$i]; ?></td>
   <td width="145" align="center" bgcolor="#fff"><?php echo $arrprice[$i]; ?></td>
   <td width="145" align="center" bgcolor="#fff">
    <input type="text" name="count" id="count" value="<?php echo $arrcount[$i]; ?>" size="4">
    <input type="hidden" name="name" id="name" value="<?php echo $arrname[$i]; ?>">
    <input type="submit" type="submit" value="  ">
   </td>
   <td width="145" align="center" bgcolor="#fff"><?php echo $arrprice[$i]*$arrcount[$i]; ?></td>
  </tr>
 </form>
 <?php
 $sum += $arrprice[$i]*$arrcount[$i];;
 }
 ?>
 <tr>
  <td>    :</td>
  <td colspan="3"><?php echo $sum; ?></td>
 </tr>

</table>

설명:arraysearch()함수 에서 가장 흔히 볼 수 있 는 응용 은 카 트 입 니 다.카 트 에서 지정 한 상품 수량 에 대한 수정 과 삭 제 를 실현 합 니 다!
3.PHP 1 차원 배열 과 2 차원 배열 이 서로 전환 하 는 예제
1 차원 배열 변환 2 차원 배열 의 예제 코드:

<?php
header("Content-Type:text/html;charset=utf-8");

$arr[1] = array("a1","a2");
$arr[2] = array("b1","b2");

$newarr = array();
foreach($arr as $a){
 $newarr[] = $a;
}
print_r($newarr);
출력 결과:

2 차원 배열 을 1 차원 배열 로 바 꾸 는 방법:

<?php
header("Content-Type:text/html;charset=utf-8");

$arr = array(
 array(
  'id'=>1,
  'name'=>'cyy1'
 ),
 array(
  'id'=>2,
  'name'=>'cyy2'
 )
);

$ids = array_column($arr,'id');
$names = array_column($arr,'name');
print_r($names);
결 과 는:

주의:arraycolumn();세 번 째 인자 가 있 을 수 있 습 니 다.예 를 들 어$n=arraycolumn($arr, 'name', 'id');

<?php
header("Content-Type:text/html;charset=utf-8");

$arr = array(
 array(
  'id'=>1,
  'name'=>'cyy1'
 ),
 array(
  'id'=>2,
  'name'=>'cyy2'
 )
);

$names = array_column($arr,'name','id');
print_r($names);
결 과 는:

4.phop 에서 배열 은 어떻게 순환 출력 합 니까?배열 을 옮 겨 다 니 는 방법 소개
첫 번 째:foreach 구 조 를 사용 하여 배열 을 옮 겨 다 닙 니 다.

<?php
header("Content-Type:text/html;charset=utf-8");

$arr = array(
 'course1'=>'php',
 'course2'=>'thinkphp',
 'course3'=>'laravel',
);

foreach($arr as $k=>$v){
 echo $v.'<br/>';
}
반복 결과:
php
thinkphp
laravel
두 번 째:list()함수 배열 옮 겨 다 니 기
list()함 수 는 디지털 색인 에 만 사용 되 고 색인 은 0 에서 시작 하 는 배열 입 니 다.
다음은 list()함수 와 each()함수 의 종합 응용 을 구체 적 인 사례 를 통 해 그룹 수 에 저 장 된 사용자 로그 인 정 보 를 얻 을 것 입 니 다.
구체 적 인 개발 절 차 는 다음 과 같다.
1.개발 도 구 를 이용 하여 PHP 동적 페이지 를 새로 만 들 고 index.php 로 저장 합 니 다.
2.HTML 태그 디자인 페이지 적용.먼저 사용자 로그 인 폼 을 만 들 고 사용자 로그 인 정 보 를 입력 한 다음 each()함수 로 전역 배열$추출POST 의 내용 은 마지막 으로 화이트 문 구 를 사용 하여 사용자 가 제출 한 중요 한 정 보 를 반복 적 으로 출력 합 니 다.
예제 코드 는 다음 과 같다.

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>index</title>
</head>
<body>
 <form name="form1" method="post">
  <table width="323" border="1" cellpadding="1" cellspacing="1" bordercolor="#66cc33" bgcolor="#fff">
   <tr>
    <td width="118" height="24" bgcolor="#ccff33">   </td>
    <td width="192" height="24" bgcolor="#ccff33">
     <input type="text" name="username" id="username" size="24">
    </td>
   </tr>
   <tr>
    <td height="24" bgcolor="#ccff33">    </td>
    <td height="24" bgcolor="#ccff33">
     <input type="password" name="pwd" id="pwd" size="24">
    </td>
   </tr>
   <tr>
    <td height="24" colspan="2">
     <input type="submit" name="submit" value="  ">
    </td>
   </tr>
  </table>
 </form>
</body>
</html>

<?php

while(list($name,$value)=each($_POST)){
 if($name!="submit"){
  echo "$name=$value<br/>";
 }
}
실행 결 과 는 다음 그림 과 같 습 니 다.

설명:
each()함 수 는 현재 포인터 위치 에 있 는 배열 값 을 되 돌려 주 는 동시에 포인터 를 다음 위치 로 밀어 넣 습 니 다.돌아 오 는 배열 은 4 개의 키 를 포함 하고 키 0 과 key 는 키 이름 을 포함 하 며 키 1 과 value 는 해당 하 는 데 이 터 를 포함 합 니 다.프로그램 이 each()함 수 를 실행 할 때 포인터 가 배열 의 끝 에 있 으 면 false 로 돌아 갑 니 다.
5.PHP 배열 과 문자열 의 상호 변환
1.explode()함 수 를 사용 하여 문자열 을 배열 로 변환 합 니 다.

<?php
header("Content-Type:text/html;charset=utf-8");

$str = "i am learning php";
$arr = explode(" ", $str);
print_r($arr);
출력 결 과 는:

투표 관리 시스템 을 개발 할 때 는 투표 내용 으로 백 스테이지 에 투표 옵션 을 추가 해 야 한다.다음은 explode()함 수 를 사용 하여 추 가 된 투표 옵션 을'*'로 구분 한 다음 화이트 순환 문 구 를 사용 하여 추 가 된 투표 옵션 을 각각 출력 합 니 다.
구체 적 인 개발 절 차 는 다음 과 같다.
(1)개발 도 구 를 이용 하여 PHP 동적 페이지 를 새로 만 들 고 index.php 로 저장 합 니 다.
(2)HTML 태그 디자인 면 을 사용 하여 먼저 투표 표를 작성 하여 투표 옵션 을 추가 한 다음 에 each()함수 로 전체 배열 을 추출 합 니 다$POST 의 내용 을 사용 하고 최종 적 으로 while 순환 출력 투표 옵션 내용 을 사용 합 니 다.코드 는 다음 과 같 습 니 다:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>index</title>
</head>
<body>
 <form action="#" name="form1" method="post">
  <table width="400" border="1" cellpadding="0" cellspacing="1" bordercolor="#ff9900" bgcolor="#ccff66">
   <tr>
    <td width="98" height="120">      </td>
    <td width="223" height="120">
     <p>
      <textarea name="content" id="content" cols="30" rows="5"></textarea><br>
      <span>  :     *  </span>
     </p>
    </td>
    <td width="61" height="120">
     <input type="submit" name="submit" value="  ">
    </td>
   </tr>
  </table>
 </form>
</body>
</html>

<?php
if($_POST['submit'] != ''){
 $content = $_POST['content'];
 $data = explode("*",$content);
 while(list($name,$value) = each($data)){
  echo '<input type="checkbox" name="checkbox" value="checkbox">';
  echo $value."
"; } }
실행 결 과 는 다음 과 같다.

2.implode()함 수 를 사용 하여 배열 을 문자열 로 변환 합 니 다.

<?php
$arr = array(1,2,3,4);
$str = implode($arr);
echo $str;
출력 결 과 는:
1234
6.PHP 출력 배열-인쇄 배열 인 스 턴 스 상세 설명
보통 print 사용r 배열 인쇄(물론 vardump 도 괜 찮 지만 구조 적 으로 뚜렷 하지 않다)

<?php
$arr = array(1,2,3,4);
print_r($arr);

두 번 째 인자 가 true 일 때 printr.배열 을 직접 인쇄 하지 않 고 인쇄 된 내용 을 문자열 로 되 돌려 줍 니 다.

<?php
$arr = array(1,2,3,4);
echo print_r($arr,true);

이상 은 어떻게 PHP 에서 배열 을 사용 하 는 지 에 대한 상세 한 내용 입 니 다.더 많은 PHP 사용 배열 에 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!

좋은 웹페이지 즐겨찾기