a:6:{i:0;s:11069:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for Php Developer in Ahmedabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.anavilplacements.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.anavilplacements.in/recent-jobs.htm" title="Recent Jobs">Recent Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Php Developer in Ahmedabad</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">PHP Developer</div>
									<p class="mt7px fw6">Ahmedabad</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=PHP Developer&url=https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm&title=PHP Developer" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm&description=PHP Developer" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="672541">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="998690"><input type="hidden" name="subject" value="Applied for PHP Developer">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.anavilplacements.in/vacancy_998690.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px lh18em">If you are a creative developer looking forward to upgrade your career to the next level, we are looking for you.<br />Following are the areas in which your expertise will be helpful to the company to grow:<br />1. Website Development & Maintenance<br />2. Bug Fixing and Issue resolution<br />3. Search Engine Optimization (On-Page)<br />4. Site Performance Optimization<br />5. Adopting New/Latest Technologies<br />6. Cloud Hosting on either of AWS/Google Cloud/Azure/Digital Ocean<br />7. Analytics<br />We look forward to following skills in the candidate over and above the technical knowledge:<br />1. Hardworking<br />2. Passionate<br />3. Enthusiastic<br />4. Team Member</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  75 Thousand  To  4  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">SQL Azure</span>
														<span class="bdr dib p2px10px mr5px mt2px">Google Cloud</span>
														<span class="bdr dib p2px10px mr5px mt2px">AWS</span>
														<span class="bdr dib p2px10px mr5px mt2px">PHP</span>
														<span class="bdr dib p2px10px mr5px mt2px">Core PHP</span>
														<span class="bdr dib p2px10px mr5px mt2px">Codeigniter Framework</span>
														<span class="bdr dib p2px10px mr5px mt2px">MVC</span>
														<span class="bdr dib p2px10px mr5px mt2px">Javascript</span>
														<span class="bdr dib p2px10px mr5px mt2px">AJAX</span>
														<span class="bdr dib p2px10px mr5px mt2px">Jquery</span>
														<span class="bdr dib p2px10px mr5px mt2px">HTML5 Developer</span>
														<span class="bdr dib p2px10px mr5px mt2px">CSS3</span>
														<span class="bdr dib p2px10px mr5px mt2px">Walk in</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="672541">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="998690"><input type="hidden" name="subject" value="Applied for PHP Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.anavilplacements.in/jobs-in-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.anavilplacements.in/jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.anavilplacements.in/jobs-in-navsari.htm" title="Jobs in Navsari">Navsari</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(3)</span><a href="https://www.anavilplacements.in/jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="https://www.anavilplacements.in/jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.anavilplacements.in/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.anavilplacements.in/jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.anavilplacements.in/jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.anavilplacements.in/jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development / Telecaller Jobs">Sales & Marketing / Business D...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:63:"Job openings for Php Developer in Ahmedabad | Anavil Placements";i:2;s:152:"PHP Developer Jobs,PHP Developer Jobs in Ahmedabad,PHP Developer Vacancy in Ahmedabad,PHP Developer jobs in India,IT Software - Others jobs in Ahmedabad";i:3;s:317:"Apply for PHP Developer Jobs in Ahmedabad India - PHP Developer Vacancy  in IT Software - Others field with 2 to 4 years Work Experience, Key Skills are SQL Azure,Google Cloud,AWS,PHP,Core PHP,Codeigniter Framework,MVC,Javascript,AJAX,Jquery,HTML5 Developer,CSS3,Walk in, IT Software - Others jobs in Ahmedabad  India";i:4;s:2228:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "PHP Developer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Anavil Placements",
	        "value":  "998690"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Anavil Placements",
	      "description": "Anavil Placements is a placement firm and manpower recruitment consultants in Surat (Gujarat, India). Our company is specialized in providing manpower hunting and recruitment of desirable & qualified candidates to our client companies. The candidates are sent for the interview for a specific job profile after going through the screening and testing procedure with us. Our methods of assessing the aspirants are innovative. Thus, companies rely on us for their recruitment drives. With a strong vision of expanding our services across diverse sectors, our company currently maintains an honest and client-centric approach. Our mission is not just to earn profits but to eliminate unemployment from the society. We fill job vacancies for junior, middle, and higher level profiles.",
	      "telephone" : "910655624",
	      "email" : "hr.dakhseshnaik@gmail.com"  
	       },
		  "url": "https://www.anavilplacements.in/job-openings-for-php-developer-ahmedabad-998690.htm",
          "datePosted": "2025-07-12",
          
		  "baseSalary": " 1  Lac  75 Thousand  To  4  Lac  25 Thousand ",
		  "description": "If you are a creative developer looking forward to upgrade your career to the next level, we are looking for you.rnFollowing are the areas in which your expertise will be helpful to the company to gro",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "2 - 4 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "SQL Azure,Google Cloud,AWS,PHP,Core PHP,Codeigniter Framework,MVC,Javascript,AJAX,Jquery,HTML5 Developer,CSS3,Walk in"
		  }
		</script>
		";i:5;N;}